我create出来的无模式对话框,在没有show之前怎么就显示出来了?

rina1 2004-08-02 01:27:46
我做了一个基于对话框程序,然后添加了一个对话框,创建类,然后在主对框的OnInitDialog里做以下语句
m_DlgCategoryDetails.Create(IDD_CATEGORY_DETAILS_DLG);运行程序,主对框出现了,但是这个create出来的对话框也显示出来了,并且在最上层。并且在windows的状态栏上出现了两个应用程序的按钮,两个窗口各一个。如何来解决,
...全文
104 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
rina1 2004-08-02
我用按钮来控制两 个非模式对话框显示,如下
void CYiDianLeDlg::OnLanguageBtn()
{
// TODO: Add your control notification handler code here
m_DlgLanguage.BringWindowToTop();
m_DlgLanguage.ShowWindow(SW_SHOW);
}

void CYiDianLeDlg::OnNumberBtn()
{
// TODO: Add your control notification handler code here
m_DlgNumber.BringWindowToTop();
m_DlgNumber.ShowWindow(SW_SHOW);
}
它只能第一次成功,第二次点击的按钮的对话框显示不到最上面来。如何解决。
我是在主对框上添加的两 个安钮,两个非模式对话框显示在同一个位置。是不是一定要隐藏前一个,如果要这样,那我如果创建了20个这个的非模式对话框,那不是麻烦死了。希望有好的方法。
回复
lvgame 2004-08-02
BOOL Create( LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL );

pParentWnd

Points to the parent window object (of type CWnd) to which the dialog object belongs. If it is NULL, the dialog object’s parent window is set to the main application window.

我不太清楚这样做会不会很占内存,应该不会吧,呵呵,为什么会有这样的疑问?
回复
zhuzhufox 2004-08-02
VC2003是什么啊?
回复
pmwin 2004-08-02
你的IDD_CATEGORY_DETAILS_DLG这个ID是不是写错了?
要写你自己添加的那个对话框的ID!
回复
rina1 2004-08-02
我这个问题是在vc6中测试到的,但是vc2003我不需要hide,他的状态就是hide.
dlg1.Create(CDlg1::IDD, this);
像这样create出来的对话框会不会很占内存。谢谢解释。
回复
successq 2004-08-02
创建完成后进行ShowWindow(SW_HIDE),在需要的时候进行ShowWindow(SW_SHOW)就可以了。
回复
lixiaosan 2004-08-02
CDlg1 dlg1;
dlg1.Create(CDlg1::IDD, this);
//dlg1.ShowWindow(SW_SHOW);
回复
快乐鹦鹉 2004-08-02
m_DlgCategoryDetails.Create(IDD_CATEGORY_DETAILS_DLG,this);
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-08-02 01:27
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……