Membres inscrits :2359
Membres en ligne : 0
Invités en ligne : 6


|
Conversation (Résolue) : Coordonnées de la souris dans un wxTreeCtrl |
yannp (Membre)
Inscrit le : 02-06-2010
Messages: 61
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour,
Voici mon problème :
j'ai un wxTreeCtrl dans lequel j'ai connecté un évènement pour un menu contextuel. Ca marche, sauf que les coordonnées qu'il me renvoit sont fausses. J'ai l'impression que l'origine correspond à l'écran (en haut à gauche) et pas à mon wxTreeCtrl!!!!
Code: void winComposition::OnContextMenu(wxContextMenuEvent& event) { wxPoint pt; wxMenu menu(0); pt= event.GetPosition(); wxLogMessage(wxT("OnContextMenu at screen coords (%i, %i)"), pt.x, pt.y); Si quelqu'un peut m'aider !!! merci d'avance.
Yann
Dernière modification par yannp (23-06-2010 16:57:45)
|
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1387
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Salut.
J'ai eut le même problème récemment (pour le double-clic sur un élément). Je l'ai résolu de la façon suivante :
Code wxWidgets:wxPoint pt=myTreeCtrl->ScreenToClient(wxGetMousePosition());
En fait, je crois que les coordonnées stockées dans le wxEvent sont données par rapport à la zone cliente de la fenêtre.
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
Sem (Membre)
Inscrit le : 31-05-2008
Messages: 64
Snippets: 0
Tutoriels: 0
Hors ligne |
bonjour, à noter que souvent dans un treectrl, c'est plus cet évenement la dont on a besoin :
Code wxWidgets:EVT_TREE_ITEM_RIGHT_CLICK(TREECTRL_ID,winComposition::OnItemRightClick) ... void winComposition::OnItemRightClick(wxTreeEvent& event) { wxTreeItemId itemId = event.GetItem(); // Récupère l'id de l'item cliqué // Récupère la position wxPoint pos = myTreeCtrl->ScreenToClient(wxGetMousePosition()); ShowContextMenu(pos, itemId); }
Enfin je sais pas ce que tu veux faire exactement, c'est juste pour information, Sem
Dernière modification par Sem (23-06-2010 19:13:56)
|
|
yannp (Membre)
Inscrit le : 02-06-2010
Messages: 61
Snippets: 0
Tutoriels: 0
Hors ligne |
Ok Nickel, ca marche !!!
Merci
Yann
|
|
|