关于对话框的问题 我们现在想做一个应用小程序,用对话框实现。窗口界面如下:点击对话框中的每一个按钮,就在下面显示相应的功能界面,也就是想把以前做的那种点击一个按钮弹出一个对话框改为在一个对话框中出现。我是用VS2008做的,谁能给我提供相应模版的源代码呀? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 向资源视图中添加类型表单视图的两个对话框资源,它的类型ID为IDD_FORMVIEW,假设这个对话框的ID分别是IDD_FORMVIEW与IDD_FORMVIEW1。在为这两个对话框类联类型CChildDlg与CChildDlg1之后,为主对话框添加两个指针成员: CChildDlg* m_Dlg; CChildDlg1* m_Dlg1; 在对话框初始化的时候: C/C++ codeBOOL CChildDialogDlg::OnInitDialog(){ CDialog::OnInitDialog(); m_Dlg=new CChildDlg(); m_Dlg->Create(IDD_FORMVIEW,this); m_Dlg->ShowWindow(SW_SHOW); //这是必须的,只要是创建了对话框,无论它在哪里,都要使用ShowWindow CRect rect; m_Dlg->GetClientRect(&rect); m_Dlg->MoveWindow(100,100,rect.right,rect.bottom);//将对话框移动到你需要的位置。 m_Dlg1=new CChildDlg1(); m_Dlg1->Create(IDD_FORMVIEW1,this); m_Dlg1->ShowWindow(SW_HIDE); m_Dlg1->MoveWindow(100,100,rect.right,rect.bottom);//将对话框移动到你需要的位置。}主对话框重载父类的PostNcDestroy函数,在这个函数中删除成员指针: void CChildDialogDlg::PostNcDestroy() { delete m_Dlg; delete m_Dlg1;}当你需要显示另一个窗体时,调用: m_Dlg1->ShowWindow(SW_SHOW); m_Dlg->ShowWindow(SW_HIDE); Tab怎么用呀?谁能给一个具体的例子 m_tabctrl.SetImageList(&Cil1);//设置图像控制列表 m_tabctrl.InsertItem(0," 聊天 ",0); m_tabctrl.InsertItem(1," 游戏 ",1); m_tabctrl.InsertItem(2,"个人信息 ",2); m_tabctrl.InsertItem(3," 设置 ",3); m_dig1.Create(IDD_DIALOG1_CHAT,&m_tabctrl); //m_dig1.MoveWindow(1,28,578,451); m_dig1.SetWindowPos(NULL,1,28,578,451,SWP_SHOWWINDOW); m_dig2.Create(IDD_DIALOG2_GAME,&m_tabctrl); m_dig2.MoveWindow(1,28,578,451); m_dig3.Create(IDD_DIALOG3_PINFO,&m_tabctrl); m_dig3.MoveWindow(1,28,578,451); m_dig4.Create(IDD_DIALOG4_CONFIG,&m_tabctrl); m_dig4.MoveWindow(1,28,578,451); //m_dig1.ShowWindow(SW_SHOW); m_dig2.ShowWindow(SW_HIDE); m_dig3.ShowWindow(SW_HIDE); m_dig4.ShowWindow(SW_HIDE); 创建非模态对话框,把指针指向当前的对话框然后点击的时候用ShowWindow显示/隐藏 vc6中路径设置问题,纠结了很久…… 关于DDraw的初级问题 求助? 关于系统打开文件对话框的一个问题,欢迎大家进来讨论... 请问xp家庭版能装.visal stio..吗?老是一个组件更新出错 为何使用 CDaoRecordset.MoveNext 无效? ActiveX里面怎么加试用限制? 请问setpixel怎么画点啊? 我用程序往数据库中输入纪录,为什么第一条记录的某个字段总是错的,而其他的记录都正常?? 请问如何用DAO在MSAccess中设置密码? 请高手发一个多线程控制进度条的详细例子 TCP的多点连接
CChildDlg* m_Dlg;
CChildDlg1* m_Dlg1;
在对话框初始化的时候: C/C++ code
BOOL CChildDialogDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_Dlg=new CChildDlg(); m_Dlg->Create(IDD_FORMVIEW,this);
m_Dlg->ShowWindow(SW_SHOW); //这是必须的,只要是创建了对话框,无论它在哪里,都要使用ShowWindow
CRect rect;
m_Dlg->GetClientRect(&rect);
m_Dlg->MoveWindow(100,100,rect.right,rect.bottom);//将对话框移动到你需要的位置。 m_Dlg1=new CChildDlg1();
m_Dlg1->Create(IDD_FORMVIEW1,this);
m_Dlg1->ShowWindow(SW_HIDE);
m_Dlg1->MoveWindow(100,100,rect.right,rect.bottom);//将对话框移动到你需要的位置。
}主对话框重载父类的PostNcDestroy函数,在这个函数中删除成员指针:
void CChildDialogDlg::PostNcDestroy()
{
delete m_Dlg;
delete m_Dlg1;
}
当你需要显示另一个窗体时,调用:
m_Dlg1->ShowWindow(SW_SHOW);
m_Dlg->ShowWindow(SW_HIDE);
m_tabctrl.InsertItem(0," 聊天 ",0);
m_tabctrl.InsertItem(1," 游戏 ",1);
m_tabctrl.InsertItem(2,"个人信息 ",2);
m_tabctrl.InsertItem(3," 设置 ",3);
m_dig1.Create(IDD_DIALOG1_CHAT,&m_tabctrl);
//m_dig1.MoveWindow(1,28,578,451);
m_dig1.SetWindowPos(NULL,1,28,578,451,SWP_SHOWWINDOW);
m_dig2.Create(IDD_DIALOG2_GAME,&m_tabctrl);
m_dig2.MoveWindow(1,28,578,451);
m_dig3.Create(IDD_DIALOG3_PINFO,&m_tabctrl);
m_dig3.MoveWindow(1,28,578,451);
m_dig4.Create(IDD_DIALOG4_CONFIG,&m_tabctrl);
m_dig4.MoveWindow(1,28,578,451);
//m_dig1.ShowWindow(SW_SHOW);
m_dig2.ShowWindow(SW_HIDE);
m_dig3.ShowWindow(SW_HIDE);
m_dig4.ShowWindow(SW_HIDE);
然后点击的时候用ShowWindow显示/隐藏