📄 untitled-15.txt
字号:
表3-6非客户区鼠标消息
消息发送条件
WM.NCLBU17,nNDOWN鼠标左键被按下
WM_NCLBUrt0NUP鼠标左键被释放
WM_NCLBUTI:,nNDBLCLK鼠标左键被双击
WM.NCMBUITFONDOWN鼠标中间键被接下
WM.NCMBUTTI?f)NUP鼠标中间键被释放
WM_NCMBUTFONDBLCLK鼠标中间键被双击
WM.NCRBUTI:T)NDOWN鼠标右键被按下
WM.NCRBUrFI?ONUP鼠标右键被释放
WM.NCRBUrFI:,,WNDBLCLK鼠标右键被双击
WM_NCMOUSEMOVE在窗口非客户区移动了光标
注意非客户区鼠标消息与客户区鼠标消息很相似,唯一不同的是消息ID中的字母NC。
与窗口客户区双击消息不同,WM—NCXBUrt0NDBLCLK消息无论窗口注册了CS_DBLCLKS
样式与否都要被发送。而和客户区鼠标消息一样,消息映射表输人项会把消息传递给相应
的类成员函数。表3-7列出了非客户区鼠标消息的消息映射宏和消息处理程序。
来3-7非客户区鼠标消息的消息映射宏和消息处理程序
消息消息映射击处理函数
WMNCLBUrlTI?ONDOWN ON.WM.NCLBU{ITI:,nNDOWN onNcLButtonDown
WM.NCLBUrFIDNUP ON.WM.NCLBUrlTIDNUP onNcLButtonUp
WM.NCLBUrl!IDNDBLCLK ON.WM.NCLBUrlTIT)NDBLCLK onNcLButtonDblClk
WM.NCMBUThONDOWN ON.WM.NCMBUTh0NDOWN onNcMButtonDown
WM.NCMBUThONUP ON.WM.NCMBUrlyl?ONUP onNcMButtonUp
WM.NCMBUTFONDBLCLK ON.WM.NCMBUTFONDBLCLK onNcMButtonDhlClk
WM.NCRBUITll:)NDOWN ON.WM.NCRBUrt0NDOWN onNcRButtonDown
WM.NCRBUNONUP ON.WM.NCRBUThONUP onNcRButtonUp
WM.NCRBUrtONDBLCLK ON.WM.NCRBUTFONDBLCLK onNcRButtonDblClk
WM.NCMOUSEMOVE ONWM.NCMOUSEMOVE onNcMouseMove
对于非客户区鼠标消息,onNcMouseMove消息处理程序的原型为:
afx—msg void OnMsgNaTne(UINT "HitTest, CPoint point)
同样,point参数指定了事件在窗口中发生的位置。但是对于非客户区鼠标消息,point.x和
point.y指的是屏幕坐标而非客户区坐标。在屏幕坐标中,(0,0)点指的是屏幕左上角,而互
和y轴正向分别为向右和向下,在任何方向上的一个单位都相当于一个像素。如果愿意,您
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -