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

网友投稿 674 2022-11-17

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

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

一.创建并设计对话框

1.创建一个对话框

2.打开资源视图中的”IDD_MFCAPPLICATION6_DIALOG

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

在组框里添加组款控键

添加静态文本控键 右键属性 将Caption 改为 你的名字

(属性中 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

出来了,但没用,最重要的是代码没上

二.代码区

打开 DLG.cpp

找到这个初始化函数,输入蓝色底的代码。

打开 项目 类向导 输入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);//选择这句效果如第二个

// TODO: 在此添加控件通知处理程序代码

CDialogEx::OnOK();

}

很多人说mfc OUT了,而visual C++ 2017年的较新版本还升级了,导致我们在学习时和以前的课本对应困难。博主老师教得也是晕的很。迫于交作业,只能自学和问人了。写得不好,请别吐。最近还要完成的报告内容是

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:C语言分别实现在Linux和window的输入不回显
下一篇:SpringBoot&nbsp;+&nbsp;JPA&nbsp;@ManyToMany的操作要点说明
相关文章

 发表评论

暂时没有评论,来抢沙发吧~