设置光标图像 |
您所在的位置:网站首页 › 如何自定义鼠标箭头样式设置 › 设置光标图像 |
设置光标图像
项目06/08/2023
光标是显示鼠标或其他指针设备位置的小图像。 许多应用程序会更改光标图像以向用户提供反馈。 尽管这不是必需的,但它为应用程序增添了一些精美的功能。 Windows 提供一组标准游标图像,称为 系统游标。 这些包括箭头,手,I型梁,沙漏 (,这是一个旋转的圆) ,等等。 本部分介绍如何使用系统游标。 有关更高级的任务(例如创建自定义游标),请参阅 游标。 可以通过设置 WNDCLASS 或 WNDCLASSEX 结构的 hCursor 成员,将游标与窗口类相关联。 否则,默认光标为箭头。 当鼠标在窗口上移动时,窗口会收到 (WM_SETCURSOR 消息,除非另一个窗口捕获了鼠标) 。 此时,会发生以下事件之一: 应用程序设置游标,窗口过程返回 TRUE。 应用程序不执行任何操作,并将 WM_SETCURSOR 传递给 DefWindowProc。若要设置光标,程序将执行以下操作: 调用 LoadCursor 将光标加载到内存中。 此函数返回游标的句柄。 调用 SetCursor 并传入游标句柄。否则,如果应用程序将 WM_SETCURSOR 传递给 DefWindowProc, 则 DefWindowProc 函数使用以下算法来设置游标图像: 如果窗口具有父级,请将 WM_SETCURSOR 消息转发给父级进行处理。 否则,如果窗口具有类游标,请将光标设置为类游标。 如果没有类游标,请将光标设置为箭头光标。LoadCursor 函数可以从资源或系统游标之一加载自定义游标。 以下示例演示如何将游标设置为预定义的系统链接选择游标。 LPCTSTR cursor = IDC_HAND; hCursor = LoadCursor(NULL, cursor); SetCursor(hCursor);如果更改光标,则光标图像在下一次鼠标移动时会重置,除非截获 WM_SETCURSOR 消息并再次设置光标。 以下代码演示如何处理 WM_SETCURSOR。 case WM_SETCURSOR: if (LOWORD(lParam) == HTCLIENT) { SetCursor(hCursor); return TRUE; } break;此代码首先检查 lParam 的低 16 位。 如果 LOWORD(lParam) 等于 HTCLIENT,则表示光标位于窗口的工作区上方。 否则,光标位于非工作区上。 通常,应仅设置工作区的光标,让 Windows 为非工作区设置光标。 下一步用户输入:扩展示例 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |