gpt4 book ai didi

WinApi,将光标隐藏在窗口客户区内

转载 作者:行者123 更新时间:2023-12-04 12:26:47 24 4
gpt4 key购买 nike

我想在没有边框和标题栏的窗口客户区域内隐藏光标(这是简单的 opengl 应用程序)。所以,函数

    ShowCursor(FALSE);

不合适。在搜索 winapi 之后,我找到了这个解决方案:

    //when create window class for application window
WNDCLASSEX WndClass;
//...
BYTE CursorMaskAND[] = { 0xFF };
BYTE CursorMaskXOR[] = { 0x00 };
WndClass.hCursor = CreateCursor(NULL, 0,0,1,1, CursorMaskAND, CursorMaskXOR);

这是解决这个典型任务的好方法吗?什么方式最好?

最佳答案

MSDN 说您可以将 WNDCLASSEX hCursor 字段设置为 NULL,在这种情况下,您必须在窗口过程中明确设置光标(这意味着处理 WM_SETCURSOR 消息)。例如:

if (Msg == WM_SETCURSOR && LOWORD(lParam) == HTCLIENT)
{
SetCursor(NULL);

return TRUE;
}

// Remainder of window procedure code

检查 HTCLIENT 可确保光标仅隐藏在客户区,并且窗口框架和标题将使用正确的光标。

关于WinApi,将光标隐藏在窗口客户区内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14134076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com