MFC中简单上位机框架搭建
项目源码下载地址:http://download.csdn.net/download/zhu*45/12005663
文章主要分三个部分:
一、非模态(模态)对话框创建
二、标签页创建
三、Button调用多标签页的非模态对话框
1、非模态对话框创建
1、在资源视图Dialog中插入新的Dialog,(可以自行修改对话框的ID,后边会用到该对话框ID)右键新的对话框,添加类,类名为:CDlgXXXX(自己命名)。
2、在主对话框中设定对应button按键,并双击生成事件代码,后边显示对话框时在该控件中添加对应程序代码即可。
3、在主对话框的 Dlg.cpp 和Dlg.h 代码中引用对应新建类的头文件 #include “DlgXXXX.h“ (该头文件即为新建对话框类的头文件) 。
4、在主对话框Dlg.h 代码中添加变量:
private:
CDlgXXXX dlgxxxx;(自己命名即可)
5、在主对话框的Dlg.cpp 初始化代码部分添加 dlg.Create(IDD_EXEC);(后边参数即为前边新添加对话框的ID)
6、在主对话框对应的按键程序中添加:dlgxxxx.ShowWindow(SW_SHOWNORMAL);(显示)
2、标签页创建步骤:
1、在Dialog中,添加Tab Control 控件,并将控件调整到合适大小。
2、复制TabSheet.cpp和TabSheet.h到项目文件中,并添加到项目。
3、在资源视图Dialog中插入新的Dialog,修改属性,将Border改为“None”,将Style改为“Child”。
4、重复第三步。(几个标签页就添加几个Dialog)
5、分别将新插入的Dialog添加类,类名分别为Cdlg1、 Cdlg2。
6、在主对话框的Dlg.cpp 和.h 文件中引用#include “CDlg1.h“、#include “CDlg2.h“。(注意:这里的.cpp 和.h 指的是标签页所在,否则报错:语法错误: 缺少“;”(在标识符“dlg2_1”的前面)等错误 )
7、分别将新插入的Dialog和Tab Control 控件添加变量dlg1、dlg2、m_tab ,
*注意*1: Tab Control 添加变量时应将变量类型改为CTabSheet,其他都是正常添加即可。
*注意*2:如果是在非模态对话框中添加标签页初始化部分略有差异,请参照第七页。
8、在主对话框的Dlg.cpp 初始化代码部分添加 :(创建)
//两个参数分别表示:添加的Dialog的变量名和对应对话框的ID。
m_tab.AddPage(TEXT(“系统设置”), &dlg1, IDD_DIALOG1);
m_tab.AddPage(TEXT("系统管理"), &dlg2, IDD_DIALOG2);
9、在主对话框的Dlg.cpp 初始化代码部分添加 :(显示)
m_tab.Show();
// m_Tab 指的是Tab Control 控件的变量名。
3、Button调用 TabControl 控件(多标签页)的非模态对话框步骤:(注意标签页初始化问题处理)
1、参考创建非模态对话框。
2、参考创建标签页。在新非模态对话框中添加tabcontrol控件,只需要按照操作进行到第7步,紧接着初始化部分参照本页第3步。
3、在tab control控件所在的Dialog中右键 ->类向导->虚函数-> OnInitDialog 双击。
在对应的非模态对话框的 .cpp 代码初始化部分添加初始化代码,我这里是: