首页 > 代码库 > MFC EditCtrl关联整型变量

MFC EditCtrl关联整型变量

今天遇到一个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);



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

MFC EditCtrl关联整型变量