1、新建一个MFC APPWized[exe]的文件
选择基本对话框后点击完成
2.单击右键,选择属性,将对话框的标题改为“上网问卷调查”
3.按照要求添加组框、单选框、复选框、静态文本等组件
在对话框中添加组框,选中组框后,单击右键选择属性,将其标题内容由“Static”改为“你的年龄”,再在组框下添加四个单选按钮,其默认ID依次为IDC_RADIO1、IDC_RADIO2、IDC_RADIO3、IDC_RADIO4。在其属性对话框中,将ID属性依次改为IDC_AGE_L18、IDC_AGE_18T27、IDC_AGE_28T38、IDC_AGE_M38,同时将“标题”属性依次改为“<18”、“18-27”、“28-38”、“>38”
(属性ID一定要改)
同理添加一个静态文本,标题设为“你使用的接入方式:”如下
并将属性ID依次改为:IDC_CM_FTTL、IDC_CM_LAN、IDC_CM_56K、IDC_CM_OTHER
再添加一个组框控件,标题为“你上网主要是”,然后添加四个复选框,如下图所示。
操作同上,ID依次改为:IDC_DO_POP、IDC_DO_READ、IDC_DO_GAME、IDC_DO_OTHER
再添加一个文本控件,标题为“你每天上网的平均时间:”,添加四个单选按钮控件,如下图所示
将相应的ID属性依次改为:IDC_TIME_L1、IDC_TIME_L2、IDC_TIME_L3 、IDC_TIME_M3
添加完成后如下:
点击工具栏上方的布局→测试(T)可预览对话框的情况如下
再完善代码
将项目工作区切换到 Class view(类视图)页面,展开CEx_ResearchDlg类的所有成员,双击 OnInitDialog函数名就会在文档窗口中自动定位到该函数的实现代码处,在此函数添加初始化代(代码如下)
【或者选择确定键后双击进入函数,找到void CEx_ResearchDlg::OnOK() 与BOOL CEx_ResearchDlg::OnInitDialog()添加代码。】
关键代码如下:
BOOL CEx_ResearchDlg::OnInitDialog()
{
//CDialog::OnInitDialog();
......
// TODO: Add extra initialization here
CheckRadioButton(IDC_AGE_L18, IDC_AGE_M38, IDC_AGE_18T27);
CheckRadioButton(IDC_CM_FTTL, IDC_CM_OTHER, IDC_CM_FTTL);
CButton* pBtn = (CButton*)GetDlgItem(IDC_DO_POP);
pBtn->SetCheck(1);
CheckRadioButton(IDC_TIME_L1, IDC_TIME_M3, IDC_TIME_L1);
//return TRUE; // return TRUE unless you set the focus to a control
}
void CEx_ResearchDlg::OnOK()
{
// TODO: Add extra validation here
CString str, strCtrl; // 两个字符串变量
// 获取第一个问题的用户选择
str = "你的年龄: ";
UINT nID = GetCheckedRadioButton(IDC_AGE_L18, IDC_AGE_M38);
GetDlgItemText(nID, strCtrl); // 获取制定控件的标题文本
str = str + strCtrl;
// 获取第二个问题的用户选择
str = str + "\n你使用的接入方式: ";
nID = GetCheckedRadioButton(IDC_CM_FTTL, IDC_CM_OTHER);
GetDlgItemText(nID, strCtrl);
str = str + strCtrl;
// 获取第三个问题的用户选择
str = str + "\n你上网主要是: ";
UINT nCheckIDs[4] = {IDC_DO_POP, IDC_DO_READ, IDC_DO_GAME, IDC_DO_OTHER};
CButton* pBtn;
for(int i=0; i<4; i++) {
pBtn = (CButton*)GetDlgItem(nCheckIDs[i]);
if(pBtn->GetCheck()) {
pBtn->GetWindowText(strCtrl);
str = str + strCtrl;
str = str + " ";
}
}
// 获取第四个问题的用户选择
str = str + "\n你每天平均上网的时间是: ";
nID = GetCheckedRadioButton(IDC_TIME_L1, IDC_TIME_M3);
GetDlgItemText(nID, strCtrl);
str = str + strCtrl;
MessageBox(str,"选择的结果");
//CDialog::OnOK();
}
添加结束后保存并编译,编译结果如下:
编译无误后运行运行可点击运行
运行结果如下
若不小心退出程序或者工程,可以通过文件→最近工作空间,根据工程名称恢复。
实现了:
代码部分参考:
https://blog.csdn.net/qq_33290233/article/details/102591347
VC++6.0的下载安装可参考:
Vc++安装包_Visual C++ 6.0中文版安装包下载及win11安装教程_vc++ 6.0_Run_Snails的博客-CSDN博