解决方案 »
- 菜鸟问题:调试时这个3个标签是怎么区分,分类的?
- 如何得到QQ的所有好友??
- 请问如何取得网页中某个特定的数据????
- 我想在delphi程序里传个adoconnect的指针过来,然后VC里用这个连接处理数据库进行读写!
- ~~~~~~~莫名其妙得重定义错误问题
- 我的程序到底需要那些动态连接库文件?
- 外部调用COM中对数据库的操作(ADO)是不是每次都必须创建连接
- 请教一个钩子函数的问题?
- 我动态生成的按钮为什么直接就变灰了?
- 单从unicode能不能判断字符属于哪国文字?
- 发现一个关于MFC 浏览器控件的奇怪事,谁解释下我送他QQ会员
- 求助,wininet post后HttpQueryInfo获取不到东西。
你的答案并没有解决为什么 点击下一步后, 没有出现第2个对话框,关键代码:void CMyDlg1::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
//隐藏自身
ShowWindow(SW_HIDE); // 隐藏自身
pDlg2=new CMyDialog2();
pDlg2->Create(IDD_MYDIALOG2,NULL);
pDlg2->GetDlg1(this);
pDlg2->ShowWindow(SW_SHOW);
}我猜测,是否是因为 这个工程师给予对话框的工程,当主窗口隐藏后,就会导致第2个对话框无法出现。
貌似这样就可以看到对话框2了void CMyDlg1::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
//隐藏自身
//ShowWindow(SW_HIDE); // 隐藏自身
pDlg2=new CMyDialog2();
pDlg2->Create(IDD_MYDIALOG2,NULL);
pDlg2->GetDlg1(this);
BOOL nRet=pDlg2->ShowWindow(SW_SHOW);
nRet++;
}但是效果不好,很丑陋,很希望隐藏主对话框1。但是无法隐藏
不安全 为什么要这样使用?
要用CPropertySheet与CPropertyPage实现的话就更好了。
这个对于多个对话框来说,我觉的不错, 否则太费劲了
这个思路不错
{
// TODO: 在此添加控件通知处理程序代码
//隐藏自身
pDlg2=new CMyDialog2();
pDlg2->Create(IDD_MYDIALOG2,NULL);
pDlg2->GetDlg1(this);
pDlg2->ShowWindow(SW_SHOW);
ShowWindow(SW_HIDE); // 隐藏自身
}发现交换了顺序后, 就不会出现问题了,先shwo后hide
static const int nCount=2;
static CWnd* pWndArray[nCount]={0}; //演示程序已经改成3个对话框,不再是以前的2个对话框了BOOL CMyDlg1::OnInitDialog()
{
CDialog::OnInitDialog();
........... // TODO: 在此添加额外的初始化代码
SetPre(NULL); CMyDialog2* pDlg2=new CMyDialog2();
pDlg2->Create(IDD_MYDIALOG2,NULL);
pDlg2->SetPre(this);
CMyDialog3* pDlg3=new CMyDialog3();
pDlg3->Create(IDD_DIALOG3,NULL);
pDlg3->SetPre(pDlg2); pDlg2->SetNext(pDlg3); pDlg3->SetNext(NULL); SetNext(pDlg2);
pWndArray[0]=pDlg2;
pWndArray[1]=pDlg3; return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}对话框上的下一个 按钮的代码
void CMyDlg1::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
pNext->CenterWindow(NULL);
pNext->ShowWindow(SW_SHOW);
ShowWindow(SW_HIDE); // 隐藏自身
}
用一个,点击上一步、下一步时让dlg上显示、隐藏相应的内容