我將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;
EDIT2: AHAH! 你必須使用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;
,它不起作用,因爲它似乎是畫一個小東西,然後用指針覆蓋它,如果你推出然後又回來(這是我第一次嘗試。)我找到了一個解決方案。將盡快添加信息。 – user980058 2012-07-09 12:15:20