用MFC写调查问卷(课本例题,基于visual C++ 2017的使用)

一.创建并设计对话框
1.创建一个对话框
用MFC写调查问卷(课本例题,基于visual C++ 2017的使用)用MFC写调查问卷(课本例题,基于visual C++ 2017的使用)
2.打开资源视图中的”IDD_MFCAPPLICATION6_DIALOG

用MFC写调查问卷(课本例题,基于visual C++ 2017的使用)用MFC写调查问卷(课本例题,基于visual C++ 2017的使用)

删除对话框*的“TODO"
3.添加组框 Group Box

在组框里添加组款控键
添加静态文本控键 右键属性 将Caption 改为 你的名字
用MFC写调查问卷(课本例题,基于visual C++ 2017的使用)
(属性中 Align Text 可以选择文字文本在顶部的水平位置)默认的Default 表示左对齐。
在组框内还要添加控键: 如例子里,3个年龄范围的单选控键 Radio Button
默认的ID依次是IDC_RADIO1、IDC_RADIO2、IDC_RADIO3,改为
IDC_AGE_L18、IDC_AGE_18T27、IDC_AGE_M27(这个由后文属性猜测涵义)
属性标题改为<18、18-27、>27.
接下来和前面类似,static text 的Caption改为 你使用的接入方式 ,
在下添加4个单选控键,FTTL/ADSL LAN 拨号56k 其他
属性依次改为 IDC_CM_FTTL、IDC_CM_LAN、IDC_CM_56k IDC_CM_OTHER
4.再添加一个组框控键 标题:你上网主要是为了:
添加4个复选框(重点,意思是可以多选)
标题:收发邮件 浏览文件 聊天游戏 其他
ID
属性改为 IDC_DO_POP IDC_DO_READ IDC_DO_GAME IDC_DO_OTHER
用MFC写调查问卷(课本例题,基于visual C++ 2017的使用)
出来了,但没用,最重要的是代码没上
二.代码区
用MFC写调查问卷(课本例题,基于visual C++ 2017的使用)
打开 DLG.cpp
用MFC写调查问卷(课本例题,基于visual C++ 2017的使用)
找到这个初始化函数,输入蓝色底的代码。
打开 项目 类向导 输入IDOk 添加IDOK BN_CLIKED消息映射 ,并添加代码:
找到这个函数,添加代码如下:
void CMFCApplication4Dlg::OnBnClickedOk()
{
CString str, strCtr1;
str = “你的年龄”;
UINT nID = GetCheckedRadioButton(IDC_AGE_L18, IDC_AGE_M27);
//CString 是操作字符串的MFC类

GetDlgItemText(nID, strCtr1);//获得指定控键的标题文本  第一个是指定控键的标识,第二个是返回窗口文本
str = str + strCtr1;//strCtr1为字符串形式的第一个问题答案

str = str + (CString)"\n你使用的接入方式:\n ";
nID = GetCheckedRadioButton(IDC_CM_FTTL, IDC_CM_OTHER);
GetDlgItemText(nID, strCtr1);//获得指定控键的标题文本 
str = str + strCtr1;


str = str + (CString)" \n你上网主要是:\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(strCtr1);//GetWindowText函数作用和GetDlgItemText函数作用相同,也是获取窗口的文本内容,注意用法不同,前者用的比较广
		str = str + strCtr1;
		str = str +(CString) " ";
	}
}
//最重要的是后面这两句,原来我忘记打了,导致没出结果,找了一晚上才找到
//MessageBox(str);//选择这个方式的话效果如第一个


MessageBox( str , _T("调查问卷"), MB_ICONQUESTION|MB_ABORTRETRYIGNORE);//选择这句效果如第二个

用MFC写调查问卷(课本例题,基于visual C++ 2017的使用)
用MFC写调查问卷(课本例题,基于visual C++ 2017的使用)
// TODO: 在此添加控件通知处理程序代码
CDialogEx::OnOK();
}
很多人说mfc OUT了,而visual C++ 2017年的较新版本还升级了,导致我们在学习时和以前的课本对应困难。博主老师教得也是晕的很。迫于交作业,只能自学和问人了。写得不好,请别吐。最近还要完成的报告内容是
用MFC写调查问卷(课本例题,基于visual C++ 2017的使用)
要是路过的大佬有空,私聊我一下,教一下我。我会在做完后立刻分享。大家一起学习。