API trackpopupmenu

cs_keri Messages postés 3 Date d'inscription mardi 3 septembre 2002 Statut Membre Dernière intervention 26 septembre 2002 - 25 sept. 2002 à 17:01
GRAZNOK Messages postés 43 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 21 septembre 2006 - 24 mai 2004 à 14:25
yep!

voila, g un probleme de popup menu:

avec l'api TrackPopUpMenu je veux ouvrir une popupmenu a un endroit precis de mon form.

voila l'API:
Public Declare Function TrackPopupMenu Lib "user32" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, ByVal lprc As Any) As Long

ou x et y representent les coordonnées du popup

mais les pbs sont que :
le popup utilise comme referentiel l'ecran et non le form (ex le couple (x=0,y=0) represente le coin superieur gauche de l'ecran et non celui du form.

alors g essaye de chinter ca en utilisant form.top et form.left (x=form.left "plus" Mon_X_ou_je_veux_que_mon_pop_soit; y=form.top "plus" mon_Y_ou_je_veux_que_mon_pop_soit)

(le symbole "plus" passe pas)

mais avec ca le popup se place un peu n'importe comment.

HELP ME PLEASE!!

ps: en fait, ce que j'essaye de faire (ce sera peut etre plus simple a comprendre), c'est un bouton du style celui qui est juste a droite du "Precedente" dans IE. Vous voyez, la petite fleche vers le bas qui permet de recuperer les dernieres pages web affichées... encore une fois I NEED HELP!

merci d'avance

5 réponses

BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
26 sept. 2002 à 01:45
pourkoi t'utilise pas tout simplement 1 toolbar ?
0
cs_keri Messages postés 3 Date d'inscription mardi 3 septembre 2002 Statut Membre Dernière intervention 26 septembre 2002
26 sept. 2002 à 10:43
j'ai regarder le toolbar mais g pas l'impression qu'il me permette de faire le bouton que je veux, qui doit ouvrir un pop up juste dessous lui....
0
BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
26 sept. 2002 à 14:11
ben faut que le style de ton bouton principale soit

tbrDropDown

et apres il faut creer des butoonmenus
0
cs_keri Messages postés 3 Date d'inscription mardi 3 septembre 2002 Statut Membre Dernière intervention 26 septembre 2002
26 sept. 2002 à 15:14
merci bcp!

ca me resservira surement, mais en fait, j'utilise des boutons avec une gueule special et je voulais que ce dit bouton qui me posait pb ait la meme tronche.

oui, parceque j'ai resolu mon pb de popup fou en utilisant les proprietes Screen.TwipsPerPixelX et Screen.TwipsPerPixelY etla mon popup n'est plus fou!!!

j'en profite pour metttre le tit bout de code parce que ca peut etre utile...

'affiche mon popup sur mon form aux coordonnees x et y

Private Sub MonBouton_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim Pt As POINTAPI

Pt.X = (MonForm.Left "plus" x) / Screen.TwipsPerPixelX

Pt.Y = (MonForm.Top "plus" y / Screen.TwipsPerPixelY

If Button = vbLeftButton Then
'ouvre le popup

TrackPopupMenu l_hBack, TPM_LEFTALIGN, Pt.X, Pt.Y, 0, Me.hwnd, ByVal 0&

End If

End Sub

ET ENCORE MERCI!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
GRAZNOK Messages postés 43 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 21 septembre 2006
24 mai 2004 à 14:25
pour convertir les coordonnees du pointeur de la souris de l'écran vers la form,t'aurais pu utiliser l'API ClientToScreen et inversement avec ScreenToClient (cherche les parametres sur http://msdn.microsoft.com/library)
0
Rejoignez-nous