Comment faire ? ...

Comment faire ? ... - Delphi/Pascal - Programmation

Marsh Posté le 01-05-2003 à 19:43:29    

Salut a tous,
 
J'ai imaginé un petit projet que j'aimerais réaliser ... mais je coince dans le "comment faire ?" en fait  :whistle:  je vous expliquer :
 
J'aimerais créer un programme qui contiendrait plusieurs modules; par exemple un lecteur mp3, un lecteur avi, un naviguateur web, un client ftp,etc...
J'aimerais pour ce faire diviser ma feuille en deux parties : a gauche une partie assez étroite formant une espece de colonnes avec dedans le choix des modules. A droite la plus grande partie de la feuille serait destinée au module proprement dit ... mais je ne sais pas comment faire pour que si je pousse sur un bouton pour choisir un module dans la colonne de gauche, tel ou tel éléments apparraisse en fonction du module ... ca ressemblerait a :
 
if module=mp3 then afficher la form_module_mp3;  
 
bete exemple qui pourrait peut etre vous éclaircir :p
 
Ca doit sans doute etre tres simple mais je ne connais pas encore tous les controles par coeur alors bon ^^
 
Merci !


Message édité par Crazy-Eagle le 01-05-2003 à 19:44:05
Reply

Marsh Posté le 01-05-2003 à 19:43:29   

Reply

Marsh Posté le 01-05-2003 à 20:47:44    

y a en gros deux solutions pour la partie de droite :
- TPageControl dont les onglets sont mis en mode invisible, c'est le plus facile mais si tu as bcp sur chaque onglet ça va être très lourd
- Des forms ou des frames que tu crées et insères dynamiquement
 
pour la partie de gauche :
- une Listview (ou Outlook bar, ou autre composant du genre), tu récupères l'itemindex de l'élément sélectionné lors d'un OnChange/OnSelect ou autre event du genre, et ensuite avec un case tu fais ce qu'il faut.
- des boutons tous associés au même event
 
Le plus facile pour faire le lien dans la solution listview + pagecontrol c'est d'avoir tes pages du PageControl dans le même ordre que les items de la liste :
 

Code :
  1. if ListView1.Selected <> nil then
  2. begin
  3.    PageControl1.ActivePageIndex := ListView1.Selected.Index; // je suis plus sûr que ce soit Index pour l'item de la listview


 
Tu peux aussi faire des boutons, tu mets l'index de la page dans leur propriété "Tag", tu les relies tous au même événement (dans le premier tu crées un événement onClick, et pour les suivants tu vas chercher l'event du premier dans la liste qui apparaît)
Dans cet event tu mets:

Code :
  1. if Sender is TButton then
  2.      with Sender as TButton do
  3.        PageControl1.ActivePageIndex := Tag;


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

Sujets relatifs:

Leave a Replay

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