Bonjour,

J'ai crée un programme qui utilise un fichier ini pour constituer un menu dynamique :
A cette constitution de menu , je lui intégre l'evenement Onclick qui l'appel à la procédure appelmenu.

Toutes mes options vont appeler appelmenu , je voudrais pouvoir récupérer l'option du menu qui a fait l'appel pour faire un traitement en fonction de l'option d'appel
exemple menu1 doit ouvrir un fichier
menu2 doit enregistrer le fichier

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
procedure TForm_Principale.AppelMenu(Sender: TObject);
begin
 // appel de l'option
  showmessage('test du menu xxxx');
// si menu1 alors faire ouvrir fichier 
// si menu2 alors faire enregistrer fichier 
end;
 
procedure TForm_Principale.InsertMenu();
var
 valeur_menu : string;
 indice  : integer;
  New_Item : TMenuItem;
 
begin
   chemin:=ExtractFilePath(ParamStr(0));
  // recherche des informations dans fichier ini
   file_ini := TIniFile.Create(chemin + 'menu.Ini');
   // récupération des menus
   indice:=1;
   while valeur_menu <> 'Fin' do
     begin
      valeur_menu:=file_ini.ReadString('ModuleA', inttostr(indice) ,'Fin' );
      if valeur_menu <> 'Fin' then
       begin
       // création optio ndu menu dans ModuleA
         New_Item := TMenuItem.Create(Self);
         New_Item.Caption := valeur_menu;
         ModuleA.Add(New_Item);
         // création Onclick
         New_Item.OnClick:= AppelMenu;
       end;
      inc(indice);
    end;
   // libération mémoire
   File_ini.free;
end;
Merci pour vos réponses

Philippe