VS2013/MFC基于对话框编程:[17]组合框

 时间:2024-10-12 05:30:29

1、打开Demo项目,在对话框中添加3个组合框,1个编辑框,1个静态文本以及1个按钮。程序功能:通过第二个组合框选择加减乘除,第1个组合框选择数据,第3个组合框既可以选择数据,也可以输入数据;点击计算按钮计算结果并送入编辑框显示。

VS2013/MFC基于对话框编程:[17]组合框
VS2013/MFC基于对话框编程:[17]组合框

2、打开组合框的属性页,可以在data属性中直接添加数据,用分号隔开,再把sort改为false,否则数据的就会按它的排序方式进行排序,而不一定是数据输入的顺序了。最后说是Type属性,这个用于修改组合框的款式:Simple:一般不用;Drop Down:默认,可以输入数据,也可以选择数据;Drop List:只能选择数据,无法输入数据;第1个组合框选择Drop Down,data改为:10;20;30;40;50第2个组合框选择Drop List,data添加为+;-;*;/第3个组合框选择Drop Down,data暂时不填;所有组合框的sort属性均为false。

VS2013/MFC基于对话框编程:[17]组合框

3、修改ID:组合框1:IDC_Num1;组合框2:IDC_Algor;组合框3:IDC_Num2;编辑框:IDC_Result;按钮:IDC_CALC;

VS2013/MFC基于对话框编程:[17]组合框

4、添加变量:组合框1:CComboBox m_num1;组合框2:CComboBox m_algor;组合框3:CString m_num2;CComboBox m_num2Control;编辑框:double m_result;添加函数:按钮按下事件处理函数:OnBnClickedCalc()

VS2013/MFC基于对话框编程:[17]组合框

5、修改初始化函数OnInitDialog():通过组合框的成员函数AddString给第3个组合框添加剐疫柩缓项1、2、3、4、5; m_num2Control.AddString(_T("1")); m_num2Control.AddString(_T("2")); m_num2Control.AddString(_T("3")); m_num2Control.AddString(_T("4")); m_num2Control.AddString(_T("5"));将三个组合框的默认选项设为第一项: m_num2Control.SetCurSel(0); m_num1.SetCurSel(0); m_algor.SetCurSel(0);

VS2013/MFC基于对话框编程:[17]组合框

6、编写按钮按下事件处理函数,先获取数据,然后根据选择的算法计算结果,最后进行更新。 UpdateData烫喇霰嘴(true); m_result = 0; double num1 = (m_num1.GetCurSel() + 1) * 10; double num2 = atof(str2char(m_num2)); //str2char是自己写的函数,下一步有解释 switch (m_algor.GetCurSel()) { case 0:m_result = num1 + num2; break; case 1:m_result = num1 - num2; break; case 2:m_result = num1 * num2; break; case 3:m_result = num1 / num2; break; } UpdateData(false);

VS2013/MFC基于对话框编程:[17]组合框

7、由于在unicode编码中,无法直接从CString转换到const char*,隐藏atof函数无法直接把字符串转换为浮点型数据,需要经过中间转换步骤将字符串类型转为const char*类型。这就是str2char需要完成的任务:char* CDemoDlg::str2char(CString str){ char *ptr;#ifdef _UNICODE LONG len; len = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL); ptr = new char[len + 1]; memset(ptr, 0, len + 1); WideCharToMultiByte(CP_ACP, 0, str, -1, ptr, len + 1, NULL, NULL);#else ptr = new char[str.GetAllocLength() + 1]; sprintf(ptr, _T("%s"), str);#endif return ptr;}这个函数大家可以保存下来,相信肯定会有用到的时候。

VS2013/MFC基于对话框编程:[17]组合框

8、测试程序功能,启动调试,选择算法,选择数据或者输入数据,点击计算得出结果。

VS2013/MFC基于对话框编程:[17]组合框
VS2013/MFC基于对话框编程:[17]组合框
VS2013/MFC基于对话框编程:[17]组合框
VS2013/MFC基于对话框编程:[17]组合框
VS2013/MFC基于对话框编程:[17]组合框
  • c#窗体实现修改登录账号和密码
  • VS如何安装easyx图形库
  • VisualStudio如何添加窗体控件#校园分享#
  • HTML图片像素的设置
  • java 如何计算余弦值?
  • 热门搜索
    语言的魅力手抄报内容 猴年春节手抄报 防震减灾手抄报版面 手抄报a3版面设计图 我健康我快乐的手抄报 勤俭廉政手抄报内容 放飞心灵手抄报 身边的引火源手抄报 安全伴我行手抄报内容 抗战手抄报图片