如果检测到鼠标移动,则在对话框中显示光标 window C++ MFC
If mouse movement detected, show cursor in a dialog window C++ MFC
用C++ MFC写的程序有一个对话框Window播放全屏视频,光标隐藏
我想在鼠标移动时显示光标
(视频正在后台播放)
鼠标不活动3秒后光标消失(视频
还在玩)
示例:就像全屏模式下的任何视频播放器一样,如果鼠标处于非活动状态并且鼠标移动会收回控件,则控件会隐藏。
我试过了
if(WM_MOUSEMOVE)
{ShowCursor(TRUE)}
在BOOL CDialog1::OnInitDialog()
但即使没有鼠标移动也显示 (TRUE)。
谢谢!
此代码:
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);
}
用C++ MFC写的程序有一个对话框Window播放全屏视频,光标隐藏
我想在鼠标移动时显示光标 (视频正在后台播放)
鼠标不活动3秒后光标消失(视频 还在玩)
示例:就像全屏模式下的任何视频播放器一样,如果鼠标处于非活动状态并且鼠标移动会收回控件,则控件会隐藏。
我试过了
if(WM_MOUSEMOVE)
{ShowCursor(TRUE)}
在BOOL CDialog1::OnInitDialog()
但即使没有鼠标移动也显示 (TRUE)。
谢谢!
此代码:
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);
}