MFC 非模态子窗口可以看到父窗口的控件,怎么取消这个?

MFC使用非模态创建的窗口,子窗口使用<下层>,边框<无>。父窗口中有控件,可是弹出子窗口之后,能看到父窗口的控件,这是怎么回事呀?我再次新建个工程,就没这种情况。问题如... MFC 使用非模态创建的窗口,子窗口使用<下层>,边框<无>。父窗口中有控件,可是弹出子窗口之后,能看到父窗口的控件,这是怎么回事呀?我再次新建个工程,就没这种情况。
问题如下图:

这是主窗口,有个组合框控件。
-------------------------------------------------------

这个是选择子窗口之后,主窗口的控件还是可见,并且还能操作的。这是怎么回事呀?
请教大神赐教了。。。。

大致代码描述:
在主对话框的.h中:
class C子类名;
class C主类名 : public CDialog
{
public: C子类名 *pDlg;
}
然后在主对话框的.cpp中:
构造函数中pDlg = NULL;
在按钮事件中:
if((pDlg!=NULL)&&::IsWindow(pDlg->m_hWnd)) { pDlg->ShowWindow(SW_SHOW); } else { pDlg=new C子类名(); } if(!::IsWindow(pDlg->m_hWnd)) { pDlg->Create(IDD_子对话框ID,this); pDlg->ShowWindow(SW_SHOW); }
就是这样的。
没有做背景处理。
展开
 我来答
匿名用户
2013-05-27
展开全部
只能隐藏父窗口上的控件了,当用到父窗口的时候在显示出来,我之前做过,也没找到更好地办法,如有更好地办法跟我说下。
追问
好的,谢谢。控件好隐藏,可是要是加载背景之后呢,好像挺麻烦的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龚炜林
2013-05-27 · TA获得超过1560个赞
知道大有可为答主
回答量:1102
采纳率:66%
帮助的人:575万
展开全部
看你这阵势,需要隐藏原来的窗口吧。
更多追问追答
追问
是的啊,得让父窗口的控件看不到才行,或者说整个父窗口的客户区都不可见。不是仅仅隐藏2个控件。因为以后可能还需要在父窗口上添加控件,或者背景图。
追答
那你不能隐藏父窗口吗?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式