MFC Edit Control和Combo Box实例
来源:互联网 发布:unity3d陷阱 编辑:程序博客网 时间:2024/04/28 10:09
其中ComboBox的Type属性设置为DropList
IDC_COMBO1有+ - * / 四种选择
这里主要目的是熟悉这两个控件使用所以功能就不用要求太完善
新建对话框工程
在Dlg.h下添加+ - * / 对应常量方便阅读
const int DF_JIA = 0;const int DF_JIAN = 1;const int DF_CHENG = 2;const int DF_CHU = 3;在Dlg类里添加成员变量和成员函数
private:float GetResult(float fData_01, float fData_02, int nFlag);private:CString m_strData_01,m_strData_02,m_strSymbol,m_strResult;public:CComboBox m_cbCalMethod;afx_msg void OnBnClickedOk();在消息映射宏中添加处理消息映射函数的代码
BEGIN_MESSAGE_MAP(C计算器Dlg, CDialogEx) //……省略原有宏ON_BN_CLICKED(IDOK, &C计算器Dlg::OnBnClickedOk)END_MESSAGE_MAP()
在C计算器Dlg::OnInitDialog类中添加组合框的初始化
// TODO: 在此添加额外的初始化代码m_cbCalMethod.InsertString(DF_JIA, _T("+"));m_cbCalMethod.InsertString(DF_JIAN, _T("-"));m_cbCalMethod.InsertString(DF_CHENG, _T("*"));m_cbCalMethod.InsertString(DF_CHU, _T("/"));m_cbCalMethod.SetCurSel(DF_JIA); //默认为加号
Dlg.cpp添加成员函数定义
float C计算器Dlg::GetResult(float fData_01, float fData_02, int nFlag){switch (nFlag){case DF_JIA:return (float)(fData_01 + fData_02);case DF_JIAN:return (float)(fData_01 - fData_02);case DF_CHENG:return (float)(fData_01 * fData_02);case DF_CHU:return (float)(fData_01 / fData_02);default:break;}return (float)-1;}
void C计算器Dlg::OnBnClickedOk(){//CDialogEx::OnOK();GetDlgItemText(IDC_EDIT1, m_strData_01);GetDlgItemText(IDC_EDIT2, m_strData_02);GetDlgItemText(IDC_COMBO1, m_strSymbol);int nFlag = ((CComboBox *)GetDlgItem(IDC_COMBO1))->GetCurSel();float fResult = GetResult(atof((_bstr_t)m_strData_01), atof((_bstr_t)m_strData_02),nFlag);m_strResult = _T("");m_strResult.Format(_T("%.5f"), fResult);SetDlgItemText(IDC_EDIT3, m_strResult);}
查阅MSDN,CComboBox类是Combo Box对应的控件类
int AddString( LPCTSTR lpszString );在列表末尾添加相应字符串,但是排列顺序不一定是末尾,如果要在特定位置插入字符串使用InsertString
int InsertString( int nIndex, LPCTSTR lpszString );
lpszString 指向要插入的Null终止的字符串
int GetCurSel( ) const;
取得选定项的索引值,在这个程序里加减乘除有各自对应的const int作为索引值(0,1,2,3)并通过索引值判断是使用哪个计算方法
用GetDlgItemText和SetDlgItemText来取得和设置Edit Control文本
BOOL GetDlgItemText( int nID, BSTR& bstrText ) const throw();
virtual void SetDlgItemText( int nID, LPCTSTR lpszString );
nID为控件的标识符,bstrText和lpszString为对应文本,其中BSTR类型就是wchar*类型,和CStringW可以共用。
另外可以用_bstr_t将CStringW强制转化成char*类型
0 0
- MFC Edit Control和Combo Box实例
- C++ MFC combo box和list control控件的使用
- C++ MFC combo box和list control控件的使用
- C++ MFC combo box和list control控件的使用
- C++ MFC combo box和list control控件的使用
- MFC控件使用说明(combo box Button Check Box Radio Button List Control Edit Box Hot Key IP Address....)
- MFC控件使用说明(combo box Button Check Box Radio Button List Control Edit Box Hot Key IP Address)
- MFC控件使用说明(combo box Button Check Box Radio Button List Control Edit Box Hot Key IP Address....)
- MFC控件使用说明(combo box Button Check Box Radio Button List Control Edit Box Hot Key IP Address....)
- MFC控件使用说明(combo box Button Check Box Radio Button List Control Edit Box Hot Key IP Address....)
- MFC中ListControl添加Combo和Edit控件的实例
- mfc 对话框 toolBox 中的控件 ckeck box和Edit control
- Combo Box Control
- Customized Report List Control with In-Place Combo Box '& Edit Control
- mfc Combo Box有关
- MFC COMBO BOX
- MFC控件Combo Box
- [MFC] Combo Box 控件向 Edit Contrl控件传输Combo Box下拉选项的字符串 [大三TJB_708]
- AttributeUsage属性
- MyBatis的动态SQL详解
- 盘点世界杯中走下神坛的卫冕冠军们
- dom4j 解析 xml
- php 验证码的实现原理
- MFC Edit Control和Combo Box实例
- Linux shell中的竖线(|)——管道符号
- 黑马程序员-C语言笔记(八)指针
- SSH框架网站的功能模块设计
- 在web.xml中注册IntrospectorCleanupListener监听器以解决struts等框架可能产生的内存泄露问题
- Git 学习
- Bootstrap-maxlength使用
- 百度语音识别REST API使用方法(含JAVA代码)——不需要集成SDK的方法
- sql 取代游标的写法