能力值:
( LV4,RANK:50 )
|
-
-
2 楼
大家加了个油,快点给力呀
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
http://msdn.microsoft.com/en-us/library/bb775514(v=vs.85).aspx
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
对于如何判断具体哪一项,我已经找到了一种解决方法,但对于如何判断鼠标经过或hover的消息,还没有太好的思路,感觉应该用mouse move消息。现把判断哪一项的代码贴出来给大家分享一下。
LVITEM lvi;
LVHITTESTINFO lvh={0};
int iIndexItem;
long lx = pMouseHook->pt.x;//pMouseHook是指向MOUSEHOOKSTRUCT结构体的指针
long ly = pMouseHook->pt.y;
lvh.pt.x = lx;
lvh.pt.y = ly;
ScreenToClient(pMouseHook->hwnd, &(lvh.pt));
ListView_HitTest(pMouseHook->hwnd, &lvh);
iIndexItem = lvh.iItem;
if(iIndexItem !=-1)
{
ZeroMemory(&lvi, sizeof(lvi));
lvi.mask = LVIF_TEXT;
lvi.iItem = iIndexItem;
lvi.pszText = szBuff;
lvi.cchTextMax = _countof(szBuff);
if(ListView_GetItem(pMouseHook->hwnd, &lvi))
{
wsprintf(szDebug, TEXT("item text = '%s'"), szBuff);
OutputDebugString (szDebug);
}
希望大家能给我提供以下鼠标经过某一个图标时判断的思路
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
哎,还是没有人回答。我还是把我的实现思路贴出来吧
在MouseProc函数里
case WM_MOUSEMOVE:
TRACKMOUSEEVENT tme;
tme.cbSize = sizeof(tme);
tme.hwndTrack = pMouseHook->hwnd;
tme.dwFlags = TME_LEAVE|TME_HOVER;
tme.dwHoverTime = 1000;
g_bTracking = TrackMouseEvent(&tme);
还需要安装WH_GETMESSAGE钩子。因为WM_MOUSEHOVER消息是在message的消息队列里,不会被WH_MOUSE钩子拦截。
在GetMsgProc函数里:
LPMSG pMsg = (LPMSG)lParam;
switch(pMsg->message)
{
case WM_MOUSEHOVER:
TCHAR szDebug[100];
wsprintf(szDebug, TEXT("Hover"));
OutputDebugString (szDebug);
break;
}
望大家可以参考一下,或者提供以下更好的思路
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
算了,结贴吧。。。没人回答了。给分
|
|
|