鼠标 是否存在 GetSystemMetrics(SM_MOUSEPRESENT) true/false 键个数 GetSystemMetrics(SM_CMOUSEBUTTONS) 左右手习惯 GetSystemMetrics(SM_SWAPBUTTON) 其他参数 SystemParametersInfo
鼠标消息中的lParam 低字节x坐标, 高字节y坐标 wParam鼠标键机shift,ctrl键的状态 MK_SHIFT MK_CONTROL MK_LBUTTON MK_RBUTTON MK_MBUTTON
命中测试消息WM_NCHITTEST 鼠标键在窗口中失效的办法,在消息WM_NCHITTEST处理时,返回HTNOWHERE
创建窗口类时为cbWndExtra成员设置值是用来窗口结构保留的额外区域的大小 可以使用SetWindowWord为该区域指定值 获取一个特定的子窗口的窗口ID: 1.id=GetWindowLong(hwndChild, GWL_ID); 2.id=GetDlgCtrlID(hwndChile); 通过父窗口句柄和子窗口id可以获取子窗口句柄 hwndChild=GetDlgItem(hwndParent, idchild);
捕获鼠标:当鼠标在窗口之外时,窗口也能捕获鼠标的消息 SetCapture(hwnd); 在这个函数调用之后,windows将所有鼠标消息发给窗口句柄为hwnd的窗口过程 ReleaseCapture(); 释放鼠标 只有当鼠标键在客户区被按下时才能捕获鼠标,在键被释放时,才释放鼠标 必须成对出现