Historique dans TMenuItem

DREAMER2208 Messages postés 17 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 20 octobre 2005 - 12 oct. 2005 à 19:43
DREAMER2208 Messages postés 17 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 20 octobre 2005 - 20 oct. 2005 à 21:33
Salut tout le monde ;o)





J'ai créé un historique dans un menu. je m'explique:


la liste des derniers fichiers ouvert s'affiche dans un TMenuItem. Ces items sont créé durant


l'execution du prog. Maintenant je souhaiterais pouvoir rouvrir un des
derniers fichiers simplement en cliquant dessus. Mais je n'est pas
d'item défini avant la compilation de mon prog......il me faudrai
attribuer le clik sur le menu à une autre action. Dans l'aide je trouve
'newitem1.InitiateAction;' je sais pas si c'est sa qui me permettra de
faire ce que je souhaite, et comment.


je ne sais pas si vous avez bien compris mon problème....





Si qqun peut m'indiquer une piste, toute aide serait la bienvenue...





Merci d'avance...

5 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
12 oct. 2005 à 20:41
Creer simplement une procedure qui prend en parametre un chemin de fichier.

Ensuite assigne cette procedure a tout tes cliques de boutons du menu,
dans l'inspecteur d'objet ou a la creation de ces TMenuItems.

Ensuite tu appelle cette fonction en mettant comme argument le nom du fichier qui est inscrit sur le bouton du menu.

Dit le moi si je ne suis pas assez clair.
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
12 oct. 2005 à 20:45
A oui je precise, lorsque tu crée tes TMenuItems, pour assigner une procedure tu fais ceci:



procedure OuvrirFichier(chemin: string);

begin

// ton code

end;



// Lors de la création du TMenuItems:

MonItem.OnClick = OuvrirFichier(MonItem.Caption);
0
DREAMER2208 Messages postés 17 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 20 octobre 2005
13 oct. 2005 à 18:45
j'ai essayé ta méthode, mais j'ai une erreur de compilation à la ligne :



newitem1.OnClick = lect_util(newItem1.Caption);



"Pas assez de paramètres originaux".....J'ai été voir l'aide de delphi...ma lanterne est loin d'être éclairée....
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
15 oct. 2005 à 00:56
Tu es sur dans la bonne direction mais il te manque des étapes.

1- Créer une méthode dans la déclaration de la fiche contenant le ou les futures éléments de menu :
TForm1 = class(TForm)
//...
public
//...
procedure MRUClick(sender: TObject);
end;

2/ implémente la méthode ci-dessus comme tu le souhaites :


procedure TForm1.MruClick(sender: TObject)
begin
//ton code qui peut exploiter la propriété Caption de l'élément cliqué, par exemple :
ShellExecute(Handle,PChar(TMenuItem(Sender).Caption), nil, nil, nil,sw_shownormal);
end;


3/ Dans l'afffectation de la méthode à appeler lors d'un clic sur l'élément de menu :
NewItem1.OnClick = MruClick;


NewItem1.OnClick doit recevoir un pointeur de méthode, rien de plus. La méthode affectée doit avoir la même signature que celle créée par Delphi lorsque tu crées un squelette de méthode avec l'inspecteur d'objets en mode conception.



<HR color=#008000>



Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DREAMER2208 Messages postés 17 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 20 octobre 2005
20 oct. 2005 à 21:33
Désolé, mais c'est toujours la même chose......sauf que maintenant j'ai
deux erreurs de ce type par ligne de code....je commence à
désespérer....
0
Rejoignez-nous