能力值:
(RANK:410 )
|
-
-
2 楼
如果只是将其控制权交回给他的回调函数,可以试试这样(不过我也没有试过动态生成按钮,以下代码仅供参考:P:):
CallWindowProc(GetWindowLong(hWndClose,GWL_USERDATA),hWnd,uMsg,wParam,lParam);
不过你还要在这里加上这一句。
void CreateButtons(HWND hWnd)
{
#ifdef _USECLOSEBTN
hWndClose = CreateWindow("STATIC", 0,
WS_CHILD | WS_VISIBLE | SS_BITMAP | SS_NOTIFY,
rctCloseBtn.left,
rctCloseBtn.top,
13,
13,
hWnd, NULL,
hInst, 0);
ShowWindow(hWndClose, SW_SHOWNORMAL);
SendMessage(hWndClose, STM_SETIMAGE, IMAGE_BITMAP, hBTN_CLOSE_NORM);
SetWindowLong(hWndClose,GWL_USERDATA,SetWindowLong(hWndClose, GWL_WNDPROC, ButtonProc));
#endif
}
|
能力值:
( LV12,RANK:530 )
|
-
-
3 楼
我试下,谢谢了
|
能力值:
( LV12,RANK:530 )
|
-
-
4 楼
控制权是交给了那个函数了,可是得到的umsg不对,
我在switch(uMsg)这里下断点,运行程序,当我把鼠标移到那个按钮上时断下了,可是uMsg=0x84 或者别的什么数字 而不是 WM_MOUSEMOVE(0x200) 就是说不是这么一个消息,那是为什么呢
|
能力值:
(RANK:410 )
|
-
-
5 楼
0x84也是移动、释放、按下后的消息。
WM_NCHITTEST = $0084;
|
|
|