DREAMER2208
Messages postés17Date d'inscriptionmardi 2 novembre 2004StatutMembreDernière intervention20 octobre 2005
-
12 oct. 2005 à 19:43
DREAMER2208
Messages postés17Date d'inscriptionmardi 2 novembre 2004StatutMembreDernière intervention20 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...
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?