设置光标图像 您所在的位置:网站首页 光标设置是什么软件 设置光标图像

设置光标图像

2023-10-07 12:46| 来源: 网络整理| 查看: 265

设置光标图像 项目 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 实验室设备网 版权所有