VC++6.0基于MFC对话框的上网问卷调查

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_L1IDC_TIME_L2IDC_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();

}

添加结束后保存并编译,编译结果如下:

编译无误后运行运行可点击运行

运行结果如下

若不小心退出程序或者工程,可以通过文件→最近工作空间,根据工程名称恢复。

实现了:

       设计一个对话框,用于问卷调查。在实例基础上针对“上网”话题再提出一个
问题:“你每天上网的平均时间”。该问题的备选答案是“ <1 小时”、“ <2 小时”、“ <3 小时”
和“ <3 小时”,如图 2.1 所示。当回答问题后,按“确定”按钮,弹出一个消息对话框,显
示用户选择的内容。
  

 代码部分参考:

https://blog.csdn.net/qq_33290233/article/details/102591347

VC++6.0的下载安装可参考:

Vc++安装包_Visual C++ 6.0中文版安装包下载及win11安装教程_vc++ 6.0_Run_Snails的博客-CSDN博

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小奇兵1213号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值