gpt4 book ai didi

winapi - 在线程持续时间内更改光标

转载 作者:行者123 更新时间:2023-12-02 04:08:29 25 4
gpt4 key购买 nike

在MFC应用程序中,只要线程正在运行,我想一直显示等待光标(沙漏),但是调用

SetCursor(LoadCursor(NULL, IDC_WAIT));

从静态ThreadProc成员函数内部没有任何作用。有什么帮助吗?

谢谢,RSel

编辑

弄清楚了。这是一种方法:

在构造函数中调用LoadCursor:
m_cursor = LoadCursor(NULL, IDC_WAIT);

在AfxBeginThread之前立即调用SetCursor:
SetCursor(m_cursor);
AfxBeginThread( ... );

覆盖OnSetCursor以防止光标过早地变回原来的状态:
CMyView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
if (m_thread_is_running)
{
return false;
}
else
{
return CView::OnSetCursor(pWnd, nHitTest, message);
}
}

最佳答案

我没有检查,但是我认为每次鼠标移动时都会更新光标。因此,您将在每次收到WM_SETCURSOR消息时调用SetCursor()或更改默认光标。请注意,您不应在每次设置游标时都调用LoadCursor()。

默认光标设置在窗口的WNDCLASS结构中。

有关更多详细信息,请参见WM_SETCURSOR

关于winapi - 在线程持续时间内更改光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6369244/

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