cs_ak47
Messages postés24Date d'inscriptiondimanche 28 avril 2002StatutMembreDernière intervention11 novembre 2002
-
27 août 2002 à 22:29
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
29 août 2002 à 13:45
salut,
voila, j'ai cree un bouton et j'aimerai bien faire apparaitre une popup juste en dessous lorsqu'on clique dessus. Mais je n'arrive pas a faire que le popup se positionne au bon endroit lorsque on clique sur le bouton.
j'utilise la fonction "Monbouton.OnClick" et apres je met :
mapopup.popup(X,Y);
et X et Y doivent etre les coordonnes, mais je n'arrive pas a faire qu'ils soient justes (ils doivent etre en pixels, et je ne connais la position du bouton que par rapport a ma form)
Merce d'avance
@ +
ak47
cs_Bestiol
Messages postés833Date d'inscriptiondimanche 6 janvier 2002StatutMembreDernière intervention 3 novembre 20051 27 août 2002 à 23:07
Bah... Si tu récupères les coordonnées de ta souris par rapport à ton bouton dans un "OnMouseMove" avec une variable TPoint "Pos", tu peux ensuite faire ce que tu dis... maPopup.Popup(Pos.X, Pos.Y)
J'ai déjà utilisé, et ça marche sans problèmes !!
Si tu veux la position relative à l'écran, utilise Mouse.CursorPos.X et Mouse.CursorPos.Y...
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 27 août 2002 à 23:10
Si tu veux gérer la position quand tu cliques sur le bouton et afficher le popmenu en bas à droite du bouton :
procedure TForm1.Button1Click(Sender: TObject);
var
P : TPoint;
begin
//afficher le menu contextuel en bas à droite du bouton
with Button1 do
begin
P.X := Left + Width;
P.Y := Top + Height;
end;
//Conversion de coordonnées sur la fiche
//en coordonnées sur l'écran
P:= ClientToScreen(P);
//Appel du menu contextuel à l'endroit voulu
PopUpMenu1.popup(P.x, P.y);
end;