📄 untitled-16.txt
字号:
可以用 CWnd:: ScreenToClient函数将屏幕坐标变换为客户区坐标。 "HitTest参数包含标识窗
口非客户区上事件发生地方的命中测试码。表3.8列出了一些的最有用的命中测试码。在
WM.NCHITTEST或 CWnd:: onNcHitTest的帮助文档中可以找到完整的命中测试码列表。
表3.巴常用命中测试码
值相应位置
HTCArp0N标题栏
IYI?(:LOS关闭按钮
HTGROWBOX还原按钮(与HThIZE相同)
HTHSCROLL窗口的水平滚动栏
HTMENU菜单栏
HTREDUCE最小化按钮
HThIZE还原按钮(与HTGROWBOX相同)
HThYSMENU系统菜单框
HTVSCROLL窗口的垂直滚动栏
HTZ00M最大化按钮
程序通常并不处理非客户区鼠标消息,而是让Windows为它们处理。Windows提供了适
当的默认响应,而这些响应时常导致更多的消息发送给窗口。例如,当Windows用命中测试
码的值等于 HTCAgrION来处理一个 WM—NCLBUTTONDBLCLK消息时,它会给窗口发送一
个WM_SYSCOMMAND消息,其中wParam等于SC_MAXIMIZE或SC_RESTORE使窗口最大
化或恢复原状态。通过在窗口类中包含下列消息处理程序,您可以阻止在一个标题栏上的
双击影响窗口:
人 pn cxalnwlndow’s Tnessage map
ON_WM~NCLBUTTONDBLCLK()
voidCMainwindow::onNcLButtonDblClk(UINTnHitTest, CPointpoint)
(
if("HitTest!=HTCAPTION)
CWnd::OnNcLButtonDblClk(nH。iTest,v。。nt);
2
调用基类的onNcLButtonDblClk处理程序把消息传递给Wndows并且允许默认处理。不
调用基类就返回可以避免Windows知道双击事件的发生。您还可以使用其他命中测试码对
自定义窗口对非客户区鼠标事件的响应。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -