⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitled-21.txt

📁 mfc 教程
💻 TXT
字号:
                      SendMessage(WM-VSCROLL,
                          XIKEWPARA!4(bUp? SB.LINEUP: SB.LINEDOWN, 0), 0);
            B
              IetUlfl TRUE;
        E
    如果将来使用的鼠标滚轮的间隔尺寸不到120单位,那么用zDelta除以WHEEL-DELTA
就确保了应用程序不会滚动太快。WHEEInPAGESCROLL是一个特殊值,它告诉应用程序
应该模拟单击滚动条轴,也就是说执行向上或向下滚动一页的操作。     WHEEIn DELTA和
WHEEfuPAGESCROLL的定义在 Winuset. h中。
    对于此示例程序请注意它与 Windows 95不兼容。为什么?因为调用带有 SPI.
GETWHEELSCROLLLINES值的::  SystemParameterslnfo函数在 Windows 95中不起作用。如果
程序想要支持 Windows 95,那么可以假定:: SystemParameterslnfO将返回 3(默认值)或求助于
更复杂的方法来获得用户的参数。MFC使用称为_AfxGetMousescrolllines的内部函数来获
取这个值。一AfXGetMousescrollLines具有平台中立性,它先尝试多种方法来获得滚动行数。如
果那些方法都不起作用,则返回默认值3。如果您在程序中想模拟这种方法,可以参阅MFC
源代码文件Viewscrl.cpp。
    如果鼠标滚轮被单击而非被旋转,则在滚轮按下时,在光标下面的窗口通常会接收到中
间键鼠标消息WM.MBUTh?ONDOWN,当滚轮被释放时,则会接收到WM.MBUTTONUP消息。
(我所谓的“通常”是指默认状态;可以通过控制面板进行修改。)一些应用程序以特殊的方法
响应滚轮单击事件。例如在 MIC。Soft W。rd 97中,在滚轮被按下并接收到 WM.MOUSEMOVE
消息时将滚动当前显示的文档。知道了鼠标滚轮产生中间键消息,您就可以随心所欲地自
定义应用程序来响应鼠标滚轮事件了。
3.1.7捕获鼠标
    在处理鼠标消息的程序中时常出现的问题是,在接收到鼠标按下消息后并不一定会跟
着接收到鼠标抬起消息。假定您编写了一个绘图程序,它保存传递给onLButtonDown的点
参数,同时使用这个点作为固定端点并通过光标确定的另一个端点画条直线,也就是所谓的
“橡皮筋”画线操作。在WM—LBUTTONUP消息到达时,应用程序清除橡皮筋线并在原地绘
条实线。但是如果用户在释放鼠标键之前,将鼠标移动到了窗口客户区以外,这时会发生什
么情况呢?应用程序不会得到WM.LBUTTONUP消息,橡皮筋线被遗忘而悬置,实线也不会
被画出。
    Windows为此问题提供了一个非常好的解决方法,它允许应用程序“捕获”鼠标,即在接
收了鼠标键按下消息之后可以继续接收鼠标消息而不管光标在屏幕的什么地方,直到鼠标
键被释放或“捕获”撤消。(在Win32环境下,为防止应用程序独占鼠标,系统将停止向鼠标
键已释放而仍然拥有捕获能力的窗口发送鼠标消息。)用  CWnd:: SetCapture来捕获鼠标,用

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -