单文档视图下,正视图的子对话框不随主窗口移动
单文档视图下,主视图的子对话框不随主窗口移动?
随便建个单文档MFC项目,然后在主视图的OnInitialUpdate()函数里创建一个子对话框,然后运行程序,拖动窗口,就会发现这个子对话框不跟随一起拖动.
什么原因? 怎么解决?
------解决方案--------------------
设置对话框风格为Child或者响应WM_NCXXX消息,拖动窗口标题栏时实时矫正对话框的位置
void CMuhonMapEditorView::OnInitialUpdate()
{
CView::OnInitialUpdate();
// TODO: 在此添加专用代码和/或调用基类
// 创建子对话框
{
RECT wndRect;
GetWindowRect(&wndRect);
assert(m_pDialog == NULL);
m_pDialog = new CDialog;
m_pDialog->Create(IDD_DIALOG1, this);
m_pDialog->SetWindowPos(NULL, wndRect.right-200, wndRect.top, 200, wndRect.bottom-wndRect.top, 0);
m_pDialog->ShowWindow(SW_SHOW);
}
}
随便建个单文档MFC项目,然后在主视图的OnInitialUpdate()函数里创建一个子对话框,然后运行程序,拖动窗口,就会发现这个子对话框不跟随一起拖动.
什么原因? 怎么解决?
------解决方案--------------------
设置对话框风格为Child或者响应WM_NCXXX消息,拖动窗口标题栏时实时矫正对话框的位置