Aide: Menu et Sous Menu [Résolu]

Signaler
Messages postés
26
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
17 mai 2006
-
Messages postés
26
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
17 mai 2006
-
Bonjour



Je suis en tains de faire un programme, j'ai un menu principale et un
sous menu que je remplit et je voudrai savoir comment faire, lorsque je
click sur une ligne de ce sous menu pour affiché le contenu de cette
ligne??




Je voudrai en fait que lorsque je click dans mon sous menu affiché un text.



Sans passer par l'évènement OnClick dans l'inspecteur d'objet.



Merci.

14 réponses

Messages postés
26
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
17 mai 2006

Bonjour

J'ai encore besoin d'aide.


Dans mon programme je remplit un sous Menu, il se remplit correctement,
le seul problème est, ke lorsque je récupére le contenu du sous Menu:
Dans le menu est affiché: Bonjour et je récupère Bonjour par exemple





Pouvez vous m'aidez svp. Merci
Messages postés
16
Date d'inscription
lundi 2 juin 2003
Statut
Membre
Dernière intervention
26 juin 2006

Si tu clique dessus, pourquoi tu ne veux pas utiliser l'evenement onClick?


-_- VS ^_^
Messages postés
4199
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
29
il faut passer obligatoirement par un evenement qu'il soit OnClick ou OnPopup ou OnShow ou autre, de la liste ou du menu.
tu ne peu pas faire autrement. c'est quasiment obligatoire.

ces evenements sont fait exprés pour detecter une action de l'utilisateur, tu ne peu donc pas les ignorer.

Messages postés
26
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
17 mai 2006

Le problème est que je doit le programmer en dynamique.
je doit en faite détecter le contenu de la ligne et selon le contenu effectué un évenement.
Messages postés
16
Date d'inscription
lundi 2 juin 2003
Statut
Membre
Dernière intervention
26 juin 2006

Citation:
'je doit en faite détecter le contenu de la ligne et selon le contenu effectué un évenement.'

detecte ca dans l'evenement onClick(...).
A vrai dire j'ai du mal a comprendre ce que tu cherche a faire?
Tu utilise les composant standard pour les menus?

-_- VS ^_^
Messages postés
26
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
17 mai 2006

Je vais t'expliqué : dans mon programme je remplit mon menu dynamiquement , lorsque j'exécute mon programme. Par consequent je ne peut pas accéder à l'évenement OnClick car mon menu est initialement vide. Je voudrai donc avoir la possibilité de pouvoir effectué l'évenement OnClick dans mon programme.
Messages postés
16
Date d'inscription
lundi 2 juin 2003
Statut
Membre
Dernière intervention
26 juin 2006

Dans ces cas la, si tu veux generer l'evenement onClick n'importe ou dans ton programme, il faut simplement faire un appelle comme pour toute autre procedure

...
ducode...
...
Form1.Menu1Click(Nil); // Nil sous entend que tu n'utilise pas l'objet de l'action
...
ducode...
...

avec ton evenement deja etabli:

procedure TForm1.menu1Click(Sender: TObject);
begin
...
ducode...
...
end;

-_- VS ^_^
Messages postés
26
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
17 mai 2006

Je vais voir sa, mais ....
Messages postés
26
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
17 mai 2006

Le problème est que je ne connait pas à l'avance le contenu du programme, en faite mon menu contient le nom des cartes réseaux disponible sur un Pc.
Donc il peut y en avoir 1 ou plus et selon le pc la carte sera différente.
Messages postés
16
Date d'inscription
lundi 2 juin 2003
Statut
Membre
Dernière intervention
26 juin 2006

avec quoi tu fais ton menu, quel composant? O_o

-_- VS ^_^
Messages postés
26
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
17 mai 2006

je le fait avec un popup Menu
Messages postés
4199
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
29
a tout moment tu peu assigner une methode a un evements d'objet en dynamique:

procedure MaMethodePerso(Sender : TObject);
begin
... methode ...
end;

et a la creation de chaque nouveau menu ou sous menu :

begin

NewMenuItem := TMenuItem.Create(self);


with NewMenuItem do begin
Parent := Menu1;
Caption := 'blabla';

NewMenuItem.OnClick := MaMethodePerso;
end;

end;

exemple :

var
NBCount : integer = 0;

procedure TForm1.Button1Click(Sender: TObject);
var NewB : TButton;
begin
with (Sender as TButton) do begin
inc(NBcount);
NewB := TButton.Create(self);
NewB.Width := width;
NewB.Height := height;
NewB.Left := Left+Width+5;
NewB.Top := Top;
NewB.OnClick := OnClick;
NewB.Parent := Parent;
NewB.Caption := 'New'+inttostr(NBCount);
Enabled := False;
end;
end;

Cet exemple crée un nouveau bouton a la droite de celui qui a ete cliquer, et desactive le bouton cliqué.
Chaque nouveau boutton herite de la methode de l'ancien.

Messages postés
16
Date d'inscription
lundi 2 juin 2003
Statut
Membre
Dernière intervention
26 juin 2006

interressant... je savai pas qu'on pouvai assigner des methodes comme ca...
NewMenuItem.OnClick := MaMethodePerso;

j'irai me coucher moins c** ^^

-_- VS ^_^
Messages postés
26
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
17 mai 2006

Bonjour,

Ok Merci je v tester sa.