📄 untitled-26.txt
字号:
abled标志从TRUE切换到 FAfoE。窗口标题应该由“Mouse Capture Demo(Capture Enabled)”
变为Mouse Capture De。(Capture Disabled)”。 OnNcLButtonDown处理在非客户区中的鼠标左
键单击,并在"HitTest的命中测试码等于HTCArp0N时(说明单击发生在标题栏上)使用
CWnd:: SetwindowText来修改窗口标题。
现在在鼠标捕获无效的情况下画几条线。观察:如果在画橡皮筋线时将鼠标移到了窗
口外面,则线就会被冻结直到鼠标重新进人客户区,而且如果在窗口外面释放了鼠标键,则
程序会失去同步控制。在鼠标回到窗口内部之后,橡皮筋线就会跟随鼠标(即使鼠标键不再
被接下),而且永远不会被清除。再次单击标题栏,可以使鼠标捕获恢复功能,程序将恢复到
正常状态。
3.1.9光标
MouseCap并没有使用在大多数Windows应用程序中看到的箭头形光标,而是使用了一
个十字形光标。箭头和十字形光标是若干Windows为您提供的预定义光标类型中的两个,
如果这些预定义的光标都不合乎要求,则您可以创建自己的光标。通常,Windows在这个领
域中给程序员提供了很大的创造空间。
首先,学一些光标工作的背景知识。我们知道,每个窗口都有相应的WNDCLASS,它的
特性在WNDCLASS结构中定义。WNDCLASS结构的字段之一是hCursor,它保存类光标的句
柄,该光标就是在窗口客户区上出现的图像。在鼠标移动时,Windows通过重画光标的背景
把光标从旧位置上清除。然后,它给光标下的窗口发送包含命中测试码的WM.SETCURSOR
消息。对此消息系统的默认响应是调用:: SetCursor,如果命中测试码代码为 HTCLIENT,则
显示类光标;如果命中测试码表明光标在客户区以外,则显示箭头。这样光标在屏幕上移动
时会得到自动更新。例如:将光标移人一个编辑控件时,它会变化为一条竖直线或且形光
标。这是由于Windows为编辑控件注册了一个专门的WNDCLASS类,并指定1形光标作为
类光标。
因此,改变光标外观的一个方法就是注册WNDCLASS,并指定希望的光标类型作为类光
标。在MouseCap程序中,CMalnwindow的构造函数注册了类光标是IDC.CROSS的
WNDCLASS,并把 WNDCLASS名称传递给了 CFramewnd:: Create:
CString strwndClass= AfxRegisterwndClass(
0,
AfxGetAPp()-> LoadstandardCursor(IDC.CROSS),
(HBRUSH)(COLOR_WINDOW十工),
AfxGetAPp()-。Loadstandardlcon(IDI.WINLOGO)
);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -