当我们做界面的时候,编辑控件是必不可少的输入控件,如何限制它的输入长度呢?研究了下它的一些方法,大概有以下几种。
1.
void AFXAPI DDV_MaxChars( CDataExchange* pDX, CString const& value, int nChars );
通过这个宏来实现,value是跟某个编辑控件相关联的变量,后面是长度,
这里要注意一点,
DDX_Text(pDX, IDC_EDIT3, m_csFreq1);
DDX_Text(pDX, IDC_EDIT4, m_csFreq2);
DDV_MaxChars(pDX, m_csFreq2, 3);
DDV_MaxChars(pDX, m_csFreq1, 3);
效果只有第二个限制了,第一个没限制。
为了保证达到我们的目的,代码必须这样写:
DDX_Text(pDX, IDC_EDIT3, m_csFreq1);
DDV_MaxChars(pDX, m_csFreq1, 3);
DDX_Text(pDX, IDC_EDIT4, m_csFreq2);
DDV_MaxChars(pDX, m_csFreq2, 3);
2.调用CEdit的方法SetLimitTex或者LimitText来实现。