Salut à tous,
J'ai un problème avec un PopupMenu, parce que quand j'essaye de le faire s'ouvrir avec un clic gauche, il veut pas et reste sur un clic droit
Y'a-t-il un paramètre à changer autre part que dans ses propriétés ?
Version imprimable
Salut à tous,
J'ai un problème avec un PopupMenu, parce que quand j'essaye de le faire s'ouvrir avec un clic gauche, il veut pas et reste sur un clic droit
Y'a-t-il un paramètre à changer autre part que dans ses propriétés ?
Salut !
PopupMenu1->AutoPopup = false;
A plus !Code:
1
2
3
4
5 void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { PopupMenu1->Popup(Left + X, Top + Y); }
Par défaut, le Popup s'active sur clic droit, c'est écrit dans la doc. Pour l'avoir sur clic gauche, on programme l'événement OnMouseDown de l'objet cliqué. Si c'est un Popup menu qui s'affiche par exemple sur simple clic de la forme principale, on écrira ceci sur l'événement OnMouseDown.
Cet événement nous donne X,Y ce qui nous permet d'afficher le PopupMenu à l'endroit du curseur (car le OnClick ne donne pas X,Y). Comme cet événement s'exécute sur clic gauche, le PopupMenu s'affichera sur clic gauche mais ce comportement n'est pas standard.Code:
1
2
3
4
5 void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { PopupMenu1->Popup(Left+X,Top+Y); }
À bientôt
Gilles