📄 untitled-03.txt
字号:
nit nButtonCount=::GetsysteinMetrics(SMaiCMOUSEBUTTONS);
返回值是鼠标键的数目,极少数情况下返回0值,说明没有安装鼠标。
WM.XBUrt0NDOWN和WM.XBUrt0NUP消息报告鼠标键的按下和释放。WM.LBUT-
roxvr消息通常跟随wu一Lsvrroxnowx消息,但不要认为这是理所当然的。鼠标消息被
发送到光标下面的窗口(光标是鼠标指针的Windows术语)。因此如果用户在一个窗口的客
户区单击了左键,然后在释放之前将光标移动到了窗口外面,窗口会只接收一个WM_
LBUThOND0wN消息而不会有wM—LBUITONUP消息。许多程序仅仅响应键被接下消息而
忽略键释放消息,在此情形下两个消息配对就不重要了。如果有必要匹配使用,程序可以在
接收到键按下消息后将鼠标“捕获”并在键被释放消息到来后将其释放。在此过程中,所有
鼠标消息,包括那些属于窗口外事件的消息,都要送到执行鼠标捕获的窗口中。这就确保了
无论鼠标键被释放时光标在何处,都会接收到鼠标键被释放消息。鼠标的捕获将在本章稍
后部分介绍。
当同一个键在很短的时间内被连续单击两下时,第二次键按下消息将被WM_XBUT-
TONDBLCLK消息取代。并且,只有当窗口的WNDCLASS包含了类样式CS.DBLCLKS时方
会这样。MFC为框架窗口注册的默认WNDCLASS具有此样式,因此在默认情况下框架窗口
接收双击消息。对于CS.DBLCLKS样式的窗口,在窗口客户区左键两次快速单击会产生下
列顺序的消息:
ANLBUTTONDOAN
WI4_LBUTTOMIP
WM;LBUTTONDBLCLK
WM.LBUTTONUP
但是,如果窗口没有注册接收双击消息,同一个键被单击两次会产生下列顺序的消息:
W_LBUTTONDOWN
WMLBUTTONUP
WI4.LBUTTONDOWN
AN_LBUTTONUP
应用程序怎样响应这些消息或根本不响应它们都完全取决于您。但是,您也应该注意
不要对同一个键的连续单击和双击执行两个不相关的任务。一个单击消息总是优先于双击
消息,这样产生两个消息的操作就不容易被分开。能够处理同一个键的单击和双击消息的
应用程序通常在第一次单击后选中一个对象,在第二次单击时再在那个对象上执行一些操
作。例如:当您在 Windows资源管理器右窗格中双击一个文件夹时,第一次单击会选中文
件夹,第二次单击将打开它。
WM—MOUSEMOVE消息报告光标在窗日客户区内的移动。当鼠标移动时,在光标下面
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -