gpt4 book ai didi

c++ - SetCursor 在鼠标移动/单击之前不起作用 (Win32 Api)

转载 作者:太空狗 更新时间:2023-10-29 23:04:38 28 4
gpt4 key购买 nike

在处理 WM_SETCURSOR 窗口消息时,我将 SetCursor 调用到某个光标。如果我将光标设置为与它不同的东西,它会等到鼠标通过移动或单击获得输入以实际设置它。

有没有办法解决这个问题,使光标在接受输入之前看起来不会出错?

case WM_SETCURSOR:
{
SetCursor( game->GetCursor() ); // Returns m_curCurrent
return true;
}
break;

当我想要更改时,我还设置了光标类型。

游戏初始化时:

m_curDefault        = LoadCursor( m_hInstance, MAKEINTRESOURCE( IDC_DEFAULT_CURSOR ));
m_curAttack = LoadCursor( m_hInstance, MAKEINTRESOURCE( IDC_ATTACK_CURSOR ));
m_curMove = LoadCursor( m_hInstance, MAKEINTRESOURCE( IDC_MOVE_CURSOR ));
m_curCurrent = m_curDefault;

设置光标类型时

void Game::SetCursorType( CursorTypes curType )
{
switch ( curType )
{
case CGame::DefaultCursor:
m_curCurrent = m_curDefault;
break;
case CGame::AttackCursor:
m_curCurrent = m_curAttack;
break;
case CGame::MoveCursor:
m_curCurrent = m_curMove;
break;
default:
break;
}

}

最佳答案

也许为时已晚,但无论如何这对我有帮助。

当我更改用于选择正确光标图像的所有条件时,我发送了以下内容:PostMessage(HWND_Object, WM_SETCURSOR, 0, 0);

显然在鼠标移动之前没有调用 WM_SETCURSOR,但是发送这条消息帮助我解决了这个问题。

关于c++ - SetCursor 在鼠标移动/单击之前不起作用 (Win32 Api),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22271427/

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