Item sous coordonnées x y [Résolu]

Signaler
Messages postés
41
Date d'inscription
jeudi 19 février 2004
Statut
Membre
Dernière intervention
4 août 2006
-
Messages postés
41
Date d'inscription
jeudi 19 février 2004
Statut
Membre
Dernière intervention
4 août 2006
-
Bonjour,

Je voudrai récupérer une item d'un listView en ne connaissant que les coordonnées x et y
du pointeur de la souris.

Je ne peux pas utiliser la méthode GetItemAt
car je n'ai pas les classes .NET Framework Class Library

Merci de votre aide car là je suis coincé !

4 réponses

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
Messages postés
298
Date d'inscription
jeudi 12 juin 2003
Statut
Membre
Dernière intervention
9 juillet 2008
1
n'oublie pas de faire une conversion de cordonnées ScreenToClient (je ne suis pas certain de la syntaxe)
Messages postés
41
Date d'inscription
jeudi 19 février 2004
Statut
Membre
Dernière intervention
4 août 2006

Je vais tester tout ça et je vous tiendrai au courant !

MERCI
Messages postés
41
Date d'inscription
jeudi 19 février 2004
Statut
Membre
Dernière intervention
4 août 2006

ça marche !!! Merci bien !

#include <windows.h>
#include <WINDEF.H>
#include <stdio.h>
#include <commctrl.h>


HWND LocalHwnd;
POINT pt;
LVHITTESTINFO pinfo;
LRESULT MyResult = 0;
//CHAR buf[500];


//Recherche de l'handle
CWnd *MyHandle;MyHandle = ObPanelAPI::GetControlCWndByName("ListView1");
//sprintf(buf,"My Handle %x",MyHandle);
//AfxMessageBox(buf);
LocalHwnd=MyHandle->GetSafeHwnd();
//sprintf(buf,"Hwnd %x",LocalHwnd);
//AfxMessageBox(buf);


//Chercher la position du curseur
GetCursorPos(&pt);
ScreenToClient(LocalHwnd, &pt);
pinfo.pt = pt ;

//MyResult reçoit l'index de l'item
//ATTENTION : la première item reçoit l'index 0, la 2 l'index 1, etc...
MyResult = MyHandle->SendMessage((UINT) LVM_HITTEST, 0,(LPARAM)&pinfo);