Win32学习笔记——鼠标操作

来源:互联网 发布:如何看财务报表 知乎 编辑:程序博客网 时间:2024/05/16 07:31

1.光标类型
1)系统光标类型(windows.h):
IDC_ARROW 箭头光标
IDC_CROSS 十字光标
IDC_IBEAM I字光标
IDC_ICON 空图标
IDC_SIZEALL 指向四个方向的带有箭头的光标
IDC_SIZENESW 带有指向东北方向和西南方向的箭头的光标
IDC_SIZENS 带有指向南方向和北方的箭头的光标
IDC_SIZENWSE 带有指向西北方向和东南方向的箭头的光标
IDC_SIZEWE 带有指向东方和西方的箭头的光标
IDC_UPARROW 带有指向上方箭头的光标
IDC_WAIT 漏斗行光标
2)自定义光标:
光标图案文件:*.cur
资源声明:光标名 CUSOR 光标文件(.cur)

2.载入光标
HCURSOR hCursor;
hCursor=LoadCursor(NULL,IDC_IBEAM);
SetCursor(hCursor);
3.激活/关闭窗口对光标响应
激活:SetCapture(hWnd);
关闭:ReleaseCapture();
注意:对光标响应时对键盘不响应,故要注意开与关
4.鼠标消息:
1)单击:
左键
按下:WM_LBUTTONDOWN(消息)与VK_LBUTTON、MK_LBUTTON(虚拟键值)有所不同
弹起:WM_LBUTTONUP
中键
按下:WM_MBUTTONDOWN与VK_MBUTTON、MK_MBUTTON有所不同
弹起:WM_MBUTTONUP
右键
按下:WM_RBUTTONDOWN与VK_RBUTTON、MK_RBUTTON有所不同
弹起:WM_RBUTTONUP
2)双击
左键
WM_LBUTTONDBLCLK
双击时间间隔的设置:
SetDoubleClickTime(UINT);
注意:双击只有当注册窗口类时,类型包括CS_DBLCLKS时才起作用,eg:WndClass.style=CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS;
3)移动
WM_MOUSEMOVE
5.消息参数:
WPARAM:虚拟键状态值
LPARAM:鼠标位置
横坐标:int x=LOWORD(lParam);
纵坐标:int y=HIWORD(lParam);
6.左键与CTRL或SHIFT的联合使用
左键与CTRL一起按下:wParam&MK_CONTROL非零
左键与SHIFT一起按下:wParam&MK_SHIFT非零
左键与CTRL且与SHIFT一起按下:wParam&MK_SHIFT非零且wParam&MK_SHIFT非零
注意:MK_CONTROL、MK_SHIFT而非VK_CONTROL、VK_SHIFT

 

 

 

原创粉丝点击