弹出式窗口显示时主对话框变灰,该怎么处理
弹出式窗口显示时主对话框变灰
写了个标签类,就是当鼠标放在某个子控件上时会在其下方用标签类显示相关的内容,标签窗口使用的是WS_POPUP属性,有一个问题是当标签显示时主对话框会变灰,如何能防止这种现象?也就是说即使在标签窗口显示时也要保证主对话框处于最顶层?
调整标签位置时用了:
SetWindowPos(&wndBottom, m_rcText.left, m_rcText.top, m_rcText.Width(),m_rcText.Height(), SWP_NOACTIVATE|SWP_NOOWNERZORDER | SWP_NOSENDCHANGING | SWP_DEFERERASE | SWP_NOZORDER);
但是还是不行。
------解决方案--------------------
好奇怪,如果楼主只是把鼠标移动到子控件上,那主对话框又怎会失去焦点???
推荐你直接用CToolTipCtrl类,这个显示控件信息最方便!
写了个标签类,就是当鼠标放在某个子控件上时会在其下方用标签类显示相关的内容,标签窗口使用的是WS_POPUP属性,有一个问题是当标签显示时主对话框会变灰,如何能防止这种现象?也就是说即使在标签窗口显示时也要保证主对话框处于最顶层?
调整标签位置时用了:
SetWindowPos(&wndBottom, m_rcText.left, m_rcText.top, m_rcText.Width(),m_rcText.Height(), SWP_NOACTIVATE|SWP_NOOWNERZORDER | SWP_NOSENDCHANGING | SWP_DEFERERASE | SWP_NOZORDER);
但是还是不行。
------解决方案--------------------
好奇怪,如果楼主只是把鼠标移动到子控件上,那主对话框又怎会失去焦点???
推荐你直接用CToolTipCtrl类,这个显示控件信息最方便!
- C/C++ code
//定义CToolTipCtrl类成员变量 CToolTipCtrl m_ToolTipCtrl; //在OnInitDialog中添加: EnableToolTips(TRUE); m_ToolTipCtrl.Create(this, TTS_ALWAYSTIP); m_ToolTipCtrl.Activate(TRUE); m_ToolTipCtrl.AddTool(GetDlgItem(IDC_BUTTON1), _T("显示文字"));
------解决方案--------------------
试试
Create 之后
ShowWindow(SW_SHOWMINNOACTIVE)