EVC 非模式对话框如何显示和隐藏(或者对话框之间如何相互调用)
在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);
本文探讨了在EVC环境下实现非模式对话框的显示与隐藏的问题。作者尝试通过对话框指针进行操作,但在使用::ShowWindow(m_hWnd,SW_HIDE)时遇到了仅隐藏控件而不显示视图界面的情况。
614

被折叠的 条评论
为什么被折叠?



