刚从Delphi转过来不适应,怎么用MFC建立两个窗体?

yangyang000 2007-02-19 03:10:08
怎么用MFC建立两个窗体?当程序启动时显示一个窗体和一个按钮,单击按钮后切换到另一窗体?
...全文
280 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cangwu_lee 2007-02-20
  • 打赏
  • 举报
回复
创建 对话框 资源
qqwwing 2007-02-20
  • 打赏
  • 举报
回复
在APP类中定义两个CWnd类或其派生类,然后用在InitInstance()中用ShowWindow()控制显示或隐藏。
yangyang000 2007-02-20
  • 打赏
  • 举报
回复
谢谢各位!
pecker 2007-02-20
  • 打赏
  • 举报
回复
用MFC的话,可以先用appwizard,然后看生成的文件,看熟了,以后就可以不用appwizard了,可以自己写进去,(不过好象多此一举)
pecker 2007-02-20
  • 打赏
  • 举报
回复
用SDK编程好了,
register注册一个类
createwindow创建一个窗口.(所有的控件,只要你能看见的,都是窗口).
然后用getmessage循环取WM_XXXX消息来处理
TianChong 2007-02-20
  • 打赏
  • 举报
回复
也就是说,如果你要隐藏第一个窗口(主窗口)可以这样处理:
ShowWindow(AfxGetApp()->m_pMainWnd,SW_HIDE);
要再显示出来可以这样:
ShowWindow(AfxGetApp()->m_pMainWnd,SW_SHOW);

如果要隐藏第二个对话框,即后面新建的那个,则同理:
CDLG2 dlg2;
dlg2.DoModal(); //运行这一行后这个dlg2窗口会自动关闭的。
你也可以在这个窗口里使用this->ShowWindow(SW_HIDE);


TianChong 2007-02-20
  • 打赏
  • 举报
回复
创建对话框即可,你先建一个对话框程序,这样一编译运行就会显示一个对话框(这是你要的第一个对话框,默认有二个按键,其中OK按钮按下后会返回IDOK),然后你切换到资源列表里,建立一个对话框资源,保存,然后为此对话框资源建立一个类,命名为CDLG2,好了,在你要打开这个对话框的时候使用以下代码:
CDLG2 dlg2;
dlg2.DoModal();
就可以显示这个对话框了,要隐藏之前的对话框,可以有多个方法,方法之一是,上一个对话框的if(dlg.DoModal()==IDOK)
{
//把你的代码放在这里,此时dlg(即你的第一个对话框)此时已返回,关闭了不用你处理。

}

方法二:
取得你的第一个对话框的句柄,然后:
ShowWindow(hWndDlg,SW_HIDE); //hWndDlg是你的第一个对话框的句柄,如果是主窗口,还可能直接使用:AfxGetMainWnd()或 AfxGetApp()->m_pMainWnd都可取得主窗口的句柄.
yangyang000 2007-02-19
  • 打赏
  • 举报
回复
前提肯定是不用wizard
sheepgrass 2007-02-19
  • 打赏
  • 举报
回复
用APP Wizard的时候注意选多文档就行了

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧