gpt4 book ai didi

c++ - 将鼠标光标隐藏在 Windows 中的特定客户区域

转载 作者:可可西里 更新时间:2023-11-01 11:35:47 26 4
gpt4 key购买 nike

我已将 directx 嵌入到我的应用程序的子窗口中,并且希望仅当窗口光标位于该客户区域时才隐藏它。我知道一般情况下如何隐藏光标,如果只在光标不在任何客户区域上方时显示光标,我确实设法找到了一个临时示例,但这对此没有帮助。如何仅在光标位于特定客户区(/子窗口)上时隐藏光标?

编辑:这和我得到的一样接近,但是光标在 dx 区域上时不可预测地闪烁(当鼠标移动时)

case WM_SETCURSOR:
{
static bool bCursorVisible = TRUE;

if( hWnd!=hwD3DArea && !bCursorVisible )
{
ShowCursor((bCursorVisible=TRUE));
}
else if( hWnd==hwD3DArea && bCursorVisible )
{
ShowCursor((bCursorVisible=FALSE));
return TRUE;
}
}
break;

编辑2:啊啊!您必须在此消息中使用 wParam 而不是 hWnd这是工作代码:

case WM_SETCURSOR:
{
static bool bCursorVisible = TRUE;

if( ((HWND)wParam)!=hwD3DArea && !bCursorVisible )
{
ShowCursor((bCursorVisible=TRUE));
}
else if( ((HWND)wParam)==hwD3DArea && bCursorVisible )
{
ShowCursor((bCursorVisible=FALSE));
return TRUE;
}
}
break;

最佳答案

case WM_SETCURSOR:
{
if (LOWORD(lParam) == HTCLIENT)
{
SetCursor(NULL);
return TRUE;
}

return DefWindowProc(hWnd, msg, wParam, lParam);
}

关于c++ - 将鼠标光标隐藏在 Windows 中的特定客户区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11394594/

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