Organiser ses compos delphi sur la form ?

Organiser ses compos delphi sur la form ? - Delphi/Pascal - Programmation

Marsh Posté le 18-07-2003 à 14:44:55    

j'aurai voulu savoir comment vous organisiez vos composants pour vous y retrouver facilement entre vos différents écrans/etc.
 
personellement, ce que je faisais, c'était mettre les composants  dans un Panel, et le rendre visible ou pas suivant l'état de l'application.
 
Ca me permettait de vois les différents "écrans"  de ma form assez rapidement.
 
Seulement cette solution ne me convient plus car le fond de mon appli n'est pas tout gris( :D ) et les transparentPanel que j'ai trouvé ne me conviennent pas  du tout ( on voit le changement de panel, ca fait moche).
 
Quelle solution préférez vous/utilisez vous ?
 
Merci de partager vos expériences ^^

Reply

Marsh Posté le 18-07-2003 à 14:44:55   

Reply

Marsh Posté le 18-07-2003 à 15:02:25    

Ski serait bien en fait, ce serait un container que je pourrai mettre en parent, totalement invisible, et qui soit sur la totalité e la form.
 
une sorte de truc pour grouper les composants, et les afficher/cacher simplement.

Reply

Marsh Posté le 18-07-2003 à 15:19:24    

Le problème c'est surtout que tu veux pouvoir faire passer en avant-plan/arrière-plan les groupes en design time, comme les panels donc (je le précise pour éviter que d'autres te redonnent les solutions run-time only que je t'avais données par ICQ :D).
 
Si les panels sont sur la totalité de la form par contre, je comprends pas vraiment pourquoi tu veux tout mettre sur la même form...


Message édité par antp le 18-07-2003 à 15:20:11

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 18-07-2003 à 15:25:33    

antp a écrit :

Le problème c'est surtout que tu veux pouvoir faire passer en avant-plan/arrière-plan les groupes en design time, comme les panels donc (je le précise pour éviter que d'autres te redonnent les solutions run-time only que je t'avais données par ICQ :D).
 
Si les panels sont sur la totalité de la form par contre, je comprends pas vraiment pourquoi tu veux tout mettre sur la même form...


 
ben disons que ca m'aiderai franchement.
 
Immagine une appli avec une partie pouvant avoir 5 états différents, chaque état avec ses propres composants.
 
Tu vas pas faire 5 forms ( y a qu'un tiers de  la form qui change d'état, le reste est fixe), et si tu les fait pas  les composants  se chevauchent en mode design : c'est le gros merdier quoi...
 
Imaginez par exemple une appli avec un menu a gauche, chaque clic sur un bouton fait  arriver un écran différent dans la partie de droite de l'appli. Le Tpanel me convient pas car le rendre  transparent ne marche pas.
 
la j'ai trouvé une solution pour le run-time ( créer un array de Tcontrol correspondant a  chaque état), mais évidemment ca chie grave pour le design, ca se chevauche dans tous les sens : comment tu veux designer dans ce cas la ?
 
Toute suggestion est franchement la bienvenue...
 
Comment ils font les autres :??:


Message édité par Tetedeiench le 18-07-2003 à 15:26:40
Reply

Marsh Posté le 18-07-2003 à 15:32:55    

Y a plein de solutions propres (une des meilleures étant les TFrames), mais le fait que tu aies une image comme fond rend la chose nettement plus compliquée ! Et surtout, assez inhabituelle.
Ce que tu pourrais faire par contre c'est découper ton image pour la mettre dans les TFrame.
Par ex avec ton exemple de menu à gauche, tu mets les 150 premiers pixels de l'image dans le TFrame "fixe" de gauche, et le reste de l'image dans un TFrame "parent", duquel héritent les différents TFrame qui viennent se loger dans la partie principale de ta fenêtre.


Message édité par antp le 18-07-2003 à 15:33:24

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 18-07-2003 à 15:50:40    

Ca mérite réflexion, mais antp, comment tu fais ppour mettre une  frame dans une form ? Jamais commpris ca moua :D

Reply

Marsh Posté le 18-07-2003 à 15:53:36    

Tu crées une Frame, ça se crée comme un Form, tu peux lui faire des méthodes etc. (ça permet d'encapsuler ce qui se passe dedans, c'est un peu plus propre qu'une Form avec des milliers de lignes :D)
Ensuite dans ta Form, dans la palette Standard, le premier compo : "Frames", qui te permet d'ajouter une Frame à ta Form.
Ça peut aussi se faire dynamiquement :
 
maFrame := TFrame1.Create(Self);
maFrame.Parent := Self; // self = la form courante par exemple
maFrame.Align := alLeft;
 
C'est un truc hybride entre form et compo.


Message édité par antp le 18-07-2003 à 15:54:05

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 18-07-2003 à 15:54:10    

Le iench est  trop con pour pas s'etre rendu compte que il y avait une icone dans standart et que donc il fallait pas seulement passer par "new=>Tframe" ...
 
bref, ooui, j'ai la soluce d'utiliser les  frames, en mettant en fond un TImage, histoire de...
 
Spa bete du tout.

Reply

Marsh Posté le 18-07-2003 à 15:54:47    

Le coup des Units derrière c'est génial. Ca va me simplifier la vie  méchamment.
 
Mmerci antp :jap:

Reply

Marsh Posté le 18-07-2003 à 16:10:55    

Oué bah non c'est ultra  visible le repaint de la frame :cry: :cry:
 
On voit des lignes grises en plein milieu et ce meme en mode doublebuffered :'(
 
EDIT :
 
Bon OK faut mettre TOUTES les frames en mode doublebuffered  et ca marche nickel chrome. Acrobatique mais ca marche nickel chrome :D
 
Merci antpnounet.
 
on se marie quand ?


Message édité par Tetedeiench le 18-07-2003 à 16:13:00
Reply

Marsh Posté le 18-07-2003 à 16:10:55   

Reply

Marsh Posté le 18-07-2003 à 16:13:17    

:/
 
edit: ha, tant mieux si ça marche :D


Message édité par antp le 18-07-2003 à 16:13:37

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 18-07-2003 à 16:13:32    

J'ai édit et y  a une astuce de sioux :p

Reply

Sujets relatifs:

Leave a Replay

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