Kann mir eine nette Person ein Beispiel für die Verwendung von LVM_SUBITEMHITTEST
zeigen?Beispiel für LVM_SUBITEMHITTEST
Ich habe den folgenden Code versucht, aber sowohl der Rückgabewert von SendMessage()
und die relevanten Mitglieder von myinfo
sind immer -1, egal wo in meinem ListView ich klicke.
case NM_RCLICK:
{
NMITEMACTIVATE itemClicked = *(NMITEMACTIVATE*)lParam;
LVHITTESTINFO myinfo;
memset(&myinfo, 0, sizeof(myinfo));
POINT cursorPos;
GetCursorPos(&cursorPos);
myinfo.pt = cursorPos;
// I find that itemNumber as well as myinfo->iItem and myinfo->iSubItem
// are always set to -1 by the following line
int itemNumber = SendMessage(myListviewHwnd, LVM_SUBITEMHITTEST, 0,(LPARAM)&myinfo);
}
I basierend meinen Code aus Artikel der folgenden MSDN:
NM_RCLICK (list view) notification code
Aber sie Liste keine Beispiele, so dass ich mir Sorgen mache ich etwas dummes :(
'LVM_SUBITEMHITTEST' will Client-Koordinaten, geben Sie ihm Bildschirmkoordinaten. –
@Jnathan Potter Danke, das war es. Wusste, dass es etwas Dummes sein würde. – aquirdturtle
@aquirdturtle Wenn Sie eine Antwort auf Ihre Frage haben, schreiben Sie eine Antwort, anstatt Ihre Frage damit zu aktualisieren. –