目标程序示例
首先建立基于对话框的MFC 应用
然后调整字符集为多字符集
通过点击对话框的“确定”和“取消”,实现OnOK和OnCancel函数的实现
然后就开始添加程序上的界面
添加程序界面需要工具箱
第一个按钮 Static Text(静态文本)
修改其caption为姓名,年龄
caption—在对话框标题栏显示的文本
效果:
第二个按钮 Edit Control(负责输入/输出)
修改其ID为姓名,年龄对应的ID
这个窗口是要对应一个变量的(可以作为输入,也可作为输出),所以要使用类向导添加变量m_name和m_age。
效果:
第三个按钮 Radio Button(单选钮)
第四个按钮 Group Box(组合)
将其中一个旋钮的Group属性设置成True,并且修改ID和添加变量,这里有了Group属性设置成True之后,这一个Group Box里的所有变量设置成一个变量,数值从0开始递增。
效果:
第五个按钮 Check Box(选项)
这个按钮可以实现勾选,每一个都是独立真值
效果:
第六个按钮 List Box(显示多选)
这个按钮使用后,需要在程序里对其变量进行初始化,而且要进行两个变量的赋值,一个是控制变量,一个是值变量(用于输出)
m_class_ctl.AddString("1班");
m_class_ctl.AddString("2班");
m_class_ctl.AddString("3班");
m_class_ctl.SetCurSel(0);// 默认为第一个
第七个按钮 Combo Box(下拉多选)
和上一个按钮的特点基本相似,但需要在属性里进行处理,一般将Type属性修改为下拉列表,不然就可以在下拉里进行输入了
m_nation_ctl.AddString("汉族");
m_nation_ctl.AddString("少数民族");
m_nation_ctl.AddString("外籍");
m_nation_ctl.SetCurSel(0);
第八个按钮 List Control(表格)
将其view属性改为report(表格模式)
要对表格进行初始化(就是插入表头)
m_list.InsertColumn(0, "姓名", LVCFMT_CENTER, 100);//插入(列,表头,格式,宽度)
m_list.InsertColumn(1, "年龄", LVCFMT_CENTER, 100);
m_list.InsertColumn(2,"性别", LVCFMT_CENTER, 100);
m_list.InsertColumn(3, "政治面貌", LVCFMT_CENTER, 100);
m_list.InsertColumn(4, "班级", LVCFMT_CENTER, 100);
m_list.InsertColumn(5, "民族", LVCFMT_CENTER, 100);
第九个按钮 Button(按钮)
这个按钮需要构造一个属于它自己的函数,当点击这个按钮的时候,能实现输出。由于我们需要在表格里显示我们输入的数据,那么,我们就应该将实现输出的这个过程在这个函数里进行书写。
void CMFCApplication3Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(true);//接收屏幕数据
int count;
count = m_list.GetItemCount();//获取表格现有行数
m_list.InsertItem(count, m_name);//插入一行
CString strtemp;
strtemp.Format("%d", m_age);//将数值转化成字符串
m_list.SetItemText(count,1,strtemp);//插入第二个数据
m_list.SetItemText(count, 2, m_sex ? "女" : "男");
m_list.SetItemText(count, 3, m_zg ? "共产党员" : "人民群众");
m_list.SetItemText(count, 4, m_class);
m_list.SetItemText(count, 5, m_nation);
}
额外附带(利用交互文本框进行输出)
UpdateData(true);
m_cout.Format("%s\r\n%d\r\n%s\t%s\r\n%s\r\n%s",
m_name,m_age, m_sex ? "女" : "男", m_zg ? "中共党员" : "群众",m_class,m_nation);
UpdateData(false);
注意需要调整
return code;