📄 untitled-30.txt
字号:
::GetKeystate(VK.LBUTTON)
或
::GetAsyncKeystate(VK-LBUTTON)
返回负值表明鼠标左键被按下。交换鼠标键不影响:: GetAsyncKeystate,因此如果要使用这
个函数,也应该使用:: GetsystemMetrics来确定鼠标键是否被交换了。表达式
::GetAsyncKeystate(::GetsystemMetrics(SM-SWAPBUTTON)?
VK.RBUTTON: VK-LBUTTON)
以异步方式自动地检查鼠标左键的状态,如果鼠标键被交换,则查询鼠标右键的状态。
Windows提供了一对 API函数:: GetCursorPos和:: SetCursorP0s,用来手工获取和设置光
标位置。:: GetCursorPos将光标坐标复制到 POINT结构。名为:: GetMessagePos的相关函数
返回DWORD值,它包含一对16位坐标值,用来指定上一个消息从消息队列中检索到时的
光标位置。可以使用WIlld0WS的LOWORD和HIWORD宏来提取那些坐标:
DWoRD dwPos=:: GetMessagePos();
nit x= LowoRD(dwPos);
nit y= HIWORD(dwPos);
:: GetCursorP0s和:: GetMessageP0s都以屏幕坐标报告光标的位置。通过调用窗口的 ClientTo-
screen函数可以把屏幕坐标转换为客户区坐标。
Windows还提供了一个名为:: ClipCu‘。r的函数,它把光标限制在屏幕的一个特定区域
中。:: ClipCursor接受一个指向 RECT结构的指针,该结构在屏幕坐标下描述了剪裁矩形。
由于光标是由所有应用程序共享的全局资源,所以应用程序必须在结束之前调用:
::CI。pCursor(NULL);
来释放它,否则光标将被永远锁在剪裁矩形中。
3.2从键盘获取输人
Windows应用程序了解键盘事件的方式与了解鼠标事件的相同:都是通过消息。任何
时候只要一个键被按下或释放,程序都会接收到一个消息。如果想要知道 Page Up或 Page
Down是否被接下,以便应用程序执行相应的操作,您可以处理WM_KEYDOWN消息并检查
标识Page UP或 Page Down键的键代码。如果想知道某键是否被释放,可以处理WM.
KEYUP消息。对于那些生成可打印字符的键,可以不管键按下和键抬起消息而直接处理
WM_CHAR消息,它可以指出从键盘输人的字符。依靠WM_CHAR消息而不是WM_
KEYUP/DOWN消息可以简化字符处理过程,因为这样可以把其他事件以及击键时的环境条
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -