Membres inscrits :598
Membres en ligne : 0
Invités en ligne : 5


|
| Conversation (Résolue) : Coordonnées de la souris dans un wxTreeCtrl |
yannp (Membre)
Inscrit le : 02-06-2010
Messages: 59
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: 1147
Snippets: 23
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à...
|
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: 59
Snippets: 0
Tutoriels: 0
Hors ligne |
Ok Nickel, ca marche !!!
Merci
Yann
| |
|
|