非模态对话框怎么顶层显示
非模态对话框如何顶层显示?
VC2010单文档中非模态对话框启动后,被左侧CDockablePane 子类列表盖住了,
虽然对话框使用WS_EX_TOPMOST风格,但是还是没有。
BOOL CDlg0_Material::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此添加专用代码和/或调用基类
cs.dwExStyle =WS_EX_TOPMOST;
return CDialogEx::PreCreateWindow(cs);
}
------最佳解决方案--------------------
CDialog压根不会执行PreCreateWindow函数
要加上WS_EX_TOPMOST风格,最好是修改对话框资源,或者ModifyStyleEx
------其他解决方案--------------------
在OnCreate调用这个吧
------其他解决方案--------------------
ShowWindow(SW_SHOW);
::SetForegroundWindow(m_hWnd);
------其他解决方案--------------------
用&wndTopMost 调用SetWindowPos试试看。
------其他解决方案--------------------
SetForegroundWindow()
但是这个貌似是一次性的
VC2010单文档中非模态对话框启动后,被左侧CDockablePane 子类列表盖住了,
虽然对话框使用WS_EX_TOPMOST风格,但是还是没有。
BOOL CDlg0_Material::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此添加专用代码和/或调用基类
cs.dwExStyle =WS_EX_TOPMOST;
return CDialogEx::PreCreateWindow(cs);
}
------最佳解决方案--------------------
CDialog压根不会执行PreCreateWindow函数
要加上WS_EX_TOPMOST风格,最好是修改对话框资源,或者ModifyStyleEx
------其他解决方案--------------------
在OnCreate调用这个吧
------其他解决方案--------------------
ShowWindow(SW_SHOW);
::SetForegroundWindow(m_hWnd);
------其他解决方案--------------------
用&wndTopMost 调用SetWindowPos试试看。
------其他解决方案--------------------
SetForegroundWindow()
但是这个貌似是一次性的