用C ++编写的程序MFC有一个对话窗口,可播放全屏视频并隐藏光标。
我想在鼠标移动时显示光标 (视频在后台播放)
当鼠标处于非活动状态3秒时,光标消失(视频 还在玩)
示例:它就像全屏模式下的任何视频播放器一样,如果鼠标处于非活动状态并且鼠标移动使控件返回,则隐藏控件。
我试过了
if(WM_MOUSEMOVE)
{ShowCursor(TRUE)}
BOOL CDialog1::OnInitDialog()
中的
但即使没有鼠标移动,它也会显示(TRUE)。
谢谢!
答案 0 :(得分:3)
此代码:
I have tried if(WM_MOUSEMOVE) {ShowCursor(TRUE)
} in the BOOL CDialog1::OnInitDialog()
如果它是伪代码,if(WM_MOUSEMOVE)
等同于if(true)
。
你应该做的是捕捉WM_MOUSEMOVE
消息,然后显示你的光标,仍然在这个消息处理程序中设置一个时间计时器,例如3秒,在计时器处理程序中隐藏你的光标。请记住每次收到WM_MOUSEMOVE
时重新创建计时器,这样它就会重置它,从开始时再次开始计数。
我没有详细介绍,因为这个问题不是关于如何使用MFC接收消息,对吧?你不会在OnInitDialog
内收到消息。
BOOL CDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_MOUSEMOVE)
{}
return CDialogEx::PreTranslateMessage(pMsg);
}