yosthegost
Messages postés26Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention17 mai 2006
-
17 mars 2006 à 14:31
yosthegost
Messages postés26Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention17 mai 2006
-
21 mars 2006 à 11:23
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.
yosthegost
Messages postés26Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention17 mai 2006 21 mars 2006 à 11:23
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
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 19 mars 2006 à 13:28
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.
PyRuSs
Messages postés16Date d'inscriptionlundi 2 juin 2003StatutMembreDernière intervention26 juin 2006 20 mars 2006 à 10:45
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?
yosthegost
Messages postés26Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention17 mai 2006 20 mars 2006 à 11:35
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.
PyRuSs
Messages postés16Date d'inscriptionlundi 2 juin 2003StatutMembreDernière intervention26 juin 2006 20 mars 2006 à 11:43
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;
yosthegost
Messages postés26Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention17 mai 2006 20 mars 2006 à 11:58
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.
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 20 mars 2006 à 19:16
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.