怎么实现对话框的动态显示?

toberich 2012-05-07 10:39:57
在一个窗口中的对话框,我想让鼠标停留在对话框的时候,对话框显示;鼠标移出对话框了,对话框隐藏。
请尽量附些详细的代码,我是新手。谢谢!
...全文
118 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-03-04
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
toberich 2012-05-08
  • 打赏
  • 举报
回复
m_dlg是mainframe的一个成员变量。
笨笨仔 2012-05-07
  • 打赏
  • 举报
回复
有点不明:对话框隐藏时你如何判断鼠标在对话框上?如何能得到dlgRect?
貌似只能先以对话框显示时的位置,定义一个区域,当对话框隐藏时,鼠标进入该区域再显示对话框。
toberich 2012-05-07
  • 打赏
  • 举报
回复
我知道我这代码不管用,但是不知道错在哪里,你帮我看看吧。
在CMainFrame::OnCreate里加了下面两行
m_dlg.Create(IDD_DIALOG1,NULL);
m_dlg.ShowWindow(SW_SHOW);
然后在同一个文件里的消息map里面加了 ON_WM_MOUSEMOVE()
再然后
void CMainFrame::OnMouseMove(UINT nFlags, CPoint point)
{
if (nFlags == true)
{
CRect dlgRect;
m_dlg.GetWindowRect(&dlgRect);
if (dlgRect.PtInRect(point))
m_dlg.ShowWindow(SW_SHOW);
else
m_dlg.ShowWindow(SW_HIDE);
}
}
Eleven 2012-05-07
  • 打赏
  • 举报
回复
HOOK鼠标钩子,判断鼠标的位置在对话框上就ShowWindow(SW_SHOW);显示对话框,否则就ShowWindow(SW_HIDE);隐藏对话框

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧