windows程序设计笔记3

1.iMouse = GetSystemMetrics(SM_MOUSEPRESENT);//检查鼠标是否安装 cButtons = GetSystemMetrics(SM_CMOUSEBUTTONS);///检查鼠标键个数 wdnclass.hCursor = LoadCursor(NULL, IDC_ARROW);//指定窗口的默认光标 2.鼠标事件中lParam值包含了鼠标位置。 x = LOWORD(lParam); y = HIWORD(lParam); wParam值指示鼠标键及Shift及Ctrl键状态。 wParam&MK_SHIFT !=0 //说明按鼠标键时Shift键也按下了。 3.希望窗口接受到双击事件,需要设定窗口风格。 wndclass.style = CS_DBLCLKS; 4.非客户区鼠标消息。 NC not client,有此标记的大多为非客户区消息,如NCPAINT等。 wParam、lParam与客户区鼠标消息有区别。 wParam指明移动或者单击鼠标键的非客户区位置,WINUSER.h中以HT开头的标志符。 lParam高、低位分别表示y、x坐标,注意是屏幕的而不像客户区内消息的是客户区坐标,使用时需要装换。 ScreenToClient(hwnd,&pt); ClientToScreen(hwnd,&pt); 5.WM_NCHITTEST 非客户区命中测试,此消息优先于所有其他的客户区和非客户区鼠标消息。其中lParam含有鼠标x、y值,wParam没有实际意义。对此消息的操作可以屏蔽所有鼠标消息,很强大。 6.Windows使用WM_NCHITTEST消息产生所有其他鼠标消息。 7.鼠标光标的操作 鼠标光标有个显示计数,通过ShowCursor(TRUE)增加,通过ShowCursor(FALSE)减少。GetCursorPos(&pt)获取光标位置。SetCursorPos(x,y)设置位置。 8.GetWindowLong(hwnd,GWL_HINSTANCE);//获取窗口的hinstance 9.GetCapture ReleaseCapture。获取、释放鼠标,即使鼠标不在当前窗口内。 ps:鼠标操作是当前Windows最为常用的操作之一,使用较为频繁,但是不难,较易理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值