MFC EditCtrl关联整型变量

来源:互联网 发布:62数据脚本官方下载 编辑:程序博客网 时间:2024/05/29 18:54

今天遇到一个EditCtrl问题。要求在MFC对话框上添加一个EditCtrl控件,此控件只能输入10-100之间的整型数。

实现:

1、将EditCtrl的属性中的 外观->number设为True,这时控件只能输入0-9这10个字符。


2、在对话框对应的类中添加一个整型变量m_iNumber,并在构造函数中初始化为0.

3、为控件添加失去焦点时的响应函数:

void CMfcTestDlg::OnEnKillfocusEditNumber(){// TODO: 在此添加控件通知处理程序代码UpdateData(TRUE);m_iNumber = GetDlgItemInt(IDC_EDIT_NUMBER);if (m_iNumber >100 || m_iNumber <10){AfxMessageBox("Please input a number between 10-100");GetDlgItem(IDC_EDIT_NUMBER)->SetFocus();}}


4、如果需要把数值显示在控件上,则可以使用如下代码:

m_iNumber = 123;SetDlgItemInt(IDC_EDIT_NUMBER,m_iNumber);

5、如果你想控制EditCtrl控件中只能输入一个4位或者小于四位的整数,调用CEdit::SetLimitText即可。(无论你为对话框绑定的是CString还是Int型的变量)

如:

m_editCtrl.SetLimitText(4);

个人认为EditCtrl无法关联整型变量,只能通过SetDlgItemInt,GetDlgItemInt实现输入输出

0 0
原创粉丝点击