Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J'aurais juste une autre question. Comment récupérer la position exacte du pointeur par rapport à l'ecran?
Dans mon evenement de clicdroit sur une datawindow je passe en paramètre d'ouverture d'un menu les arguments de mon evenement
lm_mon_menu.PopMenu(x_pos,y_pos)
Seulement mon menu n'est pas du tout à l'endroit du clic de souris.
J'ai donc essayé de récuperer la position par rapport au cadre mdi de l'application :
// Il faut recupérer la vraie position du pointeur et la position par rapport au cadre mdi ll_x = g_w_frame.PointerX() ll_y = g_w_frame.PointerY() lm_mon_menu.PopMenu(ll_x,ll_y) //PS : g_w_frame référence le cadre MDI
Mais là encore mon menu ne se trouve pas à l'endroit du clic souris
Avez vous d'autres suppositions pour récuperer ces satanés coordonées
PS: J'ai déja le même code mais pour une fenetre de type "main" et bizarrement le menu s'affiche au bon endroit
Là j'essaie de coder la même chose mais pour une fenêtre de type "response"
Je pense pas que ça aie beaucoup d'incidence mais je précise quand même
Dernière modification par Nephtis (13-07-2007 10:02:59)
Hors ligne
dans le rbuttondown de la dw
il faut mettre
Integer li_pointer_x, li_pointer_y This.SelectRow(0, False) This.SelectRow(row, True) li_pointer_x = PointerX() + This.X li_pointer_y = PointerY() + This.Y lm_mon_menu.PopMenu(li_pointer_x, li_pointer_y)
Dernière modification par JCZ (13-07-2007 09:54:13)
Hors ligne
Oui, PointerX et PointerY te renvoient la position de ton pointeur relativement au coin haut gauche de ta fenêtre.
Il "suffit" donc d'ajouter les propriétés X et Y de ta fenêtre.J'utilise des guillemets, car X et Y sont en pixels, mais tu dois travailler en powerbuilder units.
Aaaargh je m'ai trompé ! Merci à JCZ de m'avoir décillé les yeux
Hors ligne
En effet ça marche bien mieux comme ça
Me reste plus que 14 autres fenêtre a coder pour ce clic droit
Hors ligne
shahin a écrit:
Merci à JCZ de m'avoir décillé les yeux
Quand je peux rendre service ...
Hors ligne