我现在在修改一个界面程序,要求是这样的,首先启动界面时有几个选择,根据不同的选择启动不同的对话框完成不同的任务,并且关闭前面的选择界面,请问该如何实现?
各位大哥请说详细一些,我是菜鸟,最好付一些demo或代码
打开子对话框:
CDialog dlg;
dlg.DoModal();
子对话框关闭父窗口
this->GetParent()->PostMessage(WM_CLOSE,0,0);
做好“启动界面”后,你可以在C...App类中,让其弹出,根据不同的选择,启动不同的对话框
BOOL CShowHexApp::InitInstance()
{
//.....
C启动界面Dlg dlg;
INT_PTR nRps = dlg.DoModal();
if (nRps == IDOK){
if (dlg.m_XX...)
{
C选择1Dlg dlg;
m_pMainWnd = &dlg;
}
else
{
C选择2Dlg dlg;
m_pMainWnd = &dlg;
}
}
//....
}
BOOL CXXXDlg::OnInitDialog()
{
CLoginDlg dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse != IDOK)
{
exit(1);// TODO: Place code here to handle when the dialog is
// 在login dialog中选择你要登录的UI,修改dlg.m_iUI的值
}
if(dlg.m_iUI==1)
{
CXXX1Dlg dlg1;
dlg1.DoModal();
exit(0);
}else if(dlg.m_iUI==2)
{
CXXX2Dlg dlg2;
dlg1.DoModal();
exit(0);
}}
CXXXDlg 为主UI,因为根本不会调用,随意随意画。
CLoginDlg 为登录的UI,CXXX1Dlg CXXX2Dlg 为登录后的UI。都要在res文件内画好。