我为了在一个对话框区域内显示另外两个对话框,首先在父对话框放一个static text ctrl,然后在static text ctrl上放这两个子对话框。虽然显示了对话框,但是我在拖动其中一个的时候,会导致重叠的情况。如刚开始我让dlg1盖着dlg2,然后我再去拖动dlg2的时候,会发现dlg1的部分盖着dlg2.
求指点一下怎么才能解决这种情况。
创建代码如下:
父对话框头文件中
CDlg1 m_dlg1;
CDlg2 m_dlg2;
CRect m_dialogChild;
父对话框的OnInitDialog中
m_dlg1.Create(IDD_DLG1,this);
m_dlg2.Create(IDD_DLG2,this);
GetDlgItem(IDC_STATIC_AREA)->GetWindowRect(&m_dialogChild);
ScreenToClient(m_dialogChild);
m_dlg1.MoveWindow(m_dialogChild);
m_dlg1.ShowWindow(SW_SHOW);
m_dlg2.MoveWindow(m_dialogChild);
m_dlg2.ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_ChildArea)->ShowWindow(FALSE);

------解决思路----------------------
拖动的对象使用SetWindowPos设置在最前面,然后再拖动
------解决思路----------------------
两个对话框为什么要重叠?你的对话框风格是Child风格吗?
------解决思路----------------------
用非模对话框不是更好吗?
------解决思路----------------------
编辑器的bug,主要是为了节省资源,windows窗口没有被刷新。你可以强制刷新它就行了。InvalidateRect(),就不会再有重叠残影了。
我遇到的只是子窗口最大化时,会有原尺寸的区域被父窗口给覆盖了,拖动我还没有试过。
------解决思路----------------------
对话框是不是设置了WS_CLIPSIBLINGS风格?
------解决思路----------------------
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知
见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法