[DELPHI] Changer le contenu d'une form

Changer le contenu d'une form [DELPHI] - Delphi/Pascal - Programmation

Marsh Posté le 31-03-2008 à 09:56:29    

Bonjour,
 
Désolé d'avance de la question de noob que je vais poser, mais je suis un débutant complet en programmation
 
Voila, je voudrais savoir comment faire pour changer les composants contenus dans une fenetre en fonction de l'action sur un bouton. Je m'explique
 
j'ai une form avec des composant type Tlabel, Tmemo, ... d'un coté, et 2 boutons de l'autre.
lorsque j'appuis sur un bouton, je voudrais que les composants affichés changent (par exemple, que la fenetre contienne maintenant toujours les 2 boutons, mais un Tpicture, et d'autre compasant a la place des 1er.
 
En gros, je voudrais qu'une partie de ma fenetre se comporte comme des onglets, mais sans utiliser le composants "onglets" (car je ne veux pas que les onglets soient visibles)
 
Dois-je "empiler" mes composants et jouer avec les propriétés "visible" ou bien existe-t-il une autre solution?
 
Merci d'avance

Reply

Marsh Posté le 31-03-2008 à 09:56:29   

Reply

Marsh Posté le 08-04-2008 à 14:47:06    

Plusieur solution au problème.
La première est d'empiler les composant comme tu le sugère.Mais c'est assez cradingue sur l'écran de design.
 
 
Une autre solution est de metre tes composants variables dans un panel séparé.
Mettons que tu ai 3 cas d'affichage différent. Tu crée 3 panel que tu place un peu n'importe où durant la phase de design (histoire qu'ils ne soient pas empilé)
Au moment de les afficher, tu change leur positions et leur propriété "visible". Le cas échéant, tu aura peut être à changé la propriété "parent"(si ce panel doit lui même appartenir à un panel)
 
 
Sinon, tu peu (enfin...quant tu considérera que tu n'est plus "débutant" ) crer les composants dinamiquement, mais ça te prive du jolie Designer de Delphi. Voici un exemple de création de composant:
 

procedure TForm1.Creation;
var MonComposant : TButton;  //Le code reste (presque)inchangé pour un autre descendant de TControl
begin
  MonControl := TButton.Create(self);
  MonControl.Parent := self; {si le controle doit apartenir à un panel ou un autre TWinControl, remplacer Self par le control père}
end;


---------------
Si vous êtes enseignant en maternelle ou primaire, mon boulot peut vous interesser.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed