EVC 非模式对话框如何显示和隐藏(或者对话框之间如何相互调用)

本文探讨了在EVC环境下实现非模式对话框的显示与隐藏的问题。作者尝试通过对话框指针进行操作,但在使用::ShowWindow(m_hWnd,SW_HIDE)时遇到了仅隐藏控件而不显示视图界面的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EVC 非模式对话框如何显示和隐藏(或者对话框之间如何相互调用)

悬赏分:80 - 提问时间2008-6-2 20:43 问题为何被关闭
在VC6下面可以用cpropertysheet,但是在EVC中不支持向导,郁闷中,自己在vc6下面用对话框指针自己编写了一个类似向导的程序来实现“上一步”,下一步等功能,结果到了EVC环境中,用非模式对话框构建后只要delete this就出错,而且用::ShowWindow(m_hWnd,SW_HIDE)也不行,不知道如何隐藏该非模式对话框。 
问题补充:
我在视图类中view.h
CDlgTest *dlgTest;

然后再view.cpp中:
 dlgTest=new CDlgTest(this);
 dlgTest->Create(IDD_DIALOG_TEST,this);


在对话框:

void CDlgTest::OnOK() 
{
 // TODO: Add extra validation here
 DestroyWindow();
 //CDialog::OnOK();
}

void CDlgTest::PostNcDestroy() 
{
 // TODO: Add your specialized code here and/or call the base class
 delete this;
// CDialog::PostNcDestroy();
}


然后发现窗体可以显示,点击OK也不出错了。
但是只要在窗体上点击(有一个按钮)实现隐藏对话框,好像就只隐藏了上面的控件,并没有显示view界面(包括菜单栏和工具栏)而且也不报错

ASSERT(m_hWnd!=NULL);
BOOL b=::ShowWindow(m_hWnd,SW_HIDE);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值