控件——静态空间、编辑框控件、命令按钮、复选框和单选控件
1、实验内容
编写一个基于对话框的购物问卷应用程序,实现如下功能:调查不同年龄、不同性别人群的购物方式。运行效果如下:
2、实验步骤
1、工程建立
新建一个工程,环境有问题的请参考visual2017专业版MFC编程环境搭建及第一个MFC程序的创建
完成后,在生成的工程中选择属性——常规中将使用Unicode库关闭
此时工程的建立就完成了
2、控件的添加
在资源文件——survey.rc
然后界面会跳转至资源视图中,打开Dialog,双击IDD_SURVEY_DIALOG可以看到对话框
删除掉对话框上原有的控件,添加一个静态文本,一个编辑框、六个单选框、四个复选框、一个命令按钮、三个组框控件,布局如下
3、修改控件属性
修改控件名称
2、其中男、女单选按钮需要修改Group为TRUE
修改完成后的对话框界面如图所示:
4、添加控件成员变量
鼠标右键IDC_EDIT1控件,单机添加变量命令,打开添加变量向导对话框,设置IDC_EDIT编辑框控件成员变量如图
需要添加的控件成员变量如下
这里说一下:给控件新增变量时变量类型错了,但是变量名对了,然后想要加个正确的时候提示"已经存在该对象",不知道该怎么删除这个错误的变量.开发工具提供了增加变量的功能但是并没有删除的功能,所以如果想要删除某个错误的变量就要手动去代码中找到该变量,然后手动删除.下面说具体方法.
新增一个变量这个变量存在于两个位置,一个是头文件中项目名+Dlg.h文件,另一个是源文件中项目名+Dlg.cpp文件,删除掉他们就需要在每个文件中用Ctrl+f组合键搜索你要删除的变量名,然后删掉它所在的位置即可。
3、为控件添加相应函数和代码
双击IDC_BUTTON1命令按钮,在Void CsurveyDlg::OnBnClickedCheck1()函数中的"// TODO: 在此添加控件通知处理程序代码"语句后填写如下代码:
CString str, mystr; UpdateData(true); str = "姓名:" + m_name; if (m_sex.GetCheck() == 1) str = str + "\n性别:男"; else str =str + "\n性别:女"; UINT NID = GetCheckedRadioButton(IDC_RADIO3, IDC_RADIO6); GetDlgItemText(NID, mystr); str = str + "\n年龄段:" + mystr; str = str + "\n购物方式:"; if (m_markdet.GetCheck() == 1) str = str + "商场;"; if (m_Super.GetCheck() == 1) str = str + "超市;"; if (m_small.GetCheck() == 1) str = str + "小市场;"; if (m_online.GetCheck() == 1) str = str + "网购;"; MessageBox(str);
选择生成->生成解决方案,然后点击调试——>开始执行即可得到如下框图
自行输入内容后便可得到问卷结果