我们来制定多个对话框,每个对话框都有不同的功能,单击下一步,即可跳转到下一个对话框
1.新建一个启动按钮
2.在资源视图,Dialog里面,右键-->添加资源---->dialog====>选择IDD PROPPAGE_SMALL新建
属性页,改名为PROP01
3.打开工具箱,添加group box,group box控件的作用是建立了一个分组,分割了一部分窗口,然后把要放的控件放进去,作为一个组
4.添加radio button,单选框
5.添加静态文本,static text
6.添加list box,列表框
7.右键对话框,类向导,添加MFC类,类名要和资源视图的类名一样,
CPropertyPage
是 MFC 的一个类,用于创建对话框样式的属性页。
8.右键radio button,添加变量,选择值,命名为 m_lang,它的值类型自动为bool,因为单选框的值为bool
9.我们干脆将值修改为数组,将 PROP01.h里面的声明修改为数组,BOOL m_lang[3];
10在PROP01.cpp中修改代码
PROP01::PROP01()
: CPropertyPage(IDD_PROP01)
{
memset(m_lang, 0, sizeof(m_lang));
}
为什么要设置为0呢,是因为要把它都设置为非选择状态
11.在PROP01.cpp中声明
void PROP01::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
DDX_Radio(pDX, IDC_RADIO1, m_lang[0]);
DDX_Radio(pDX, IDC_RADIO2, m_lang[1]);
DDX_Radio(pDX, IDC_RADIO3, m_lang[2]);
}
12.在初始化函数中
BOOL PROP01::OnInitDialog()
{
CListBox* plistbox=(CListBox*)GetDlgItem(IDC_LIST1);
if (plistbox)
{
plistbox->AddString(_T("alibaba"));
plistbox->AddString(_T("tecent"));
plistbox->AddString(_T("huawei"));
}
}
GetDlgItem可以根据指定控件的资源 ID,获取相应的句柄,并返回一个 CWnd 类对象
CWnd 类是 MFC 中非常重要的一个类,是所有窗口类的基类,提供了一系列成员函数,例如创建或销毁窗口、处理消息、设置窗口属性等函数,GetDlgItem是它的成员函数
13.按照上面的逻辑,我们再新建两个属性页,PROP02和PROP03,一个是复选框check box,一个是control box,