Edit Control 控件
控制输入
1.
可将变量control类型改为 CMFCMaskedEdit (:CEdit) m_wndMaskEdit
2.重载OnChar()。 (中文如何处理?)
::IsDBCSLeadByte(nChar) //判断是否为中文
控制输入
1.
可将变量control类型改为 CMFCMaskedEdit (:CEdit) m_wndMaskEdit
m_wndMaskEdit.EnableMask(_T("ddd ddd dddd"), _T("(___) ___-____"), _T(' ')); //设置格式
// the mask string literal default char
m_wndMaskEdit.SetValidChars(NULL);
m_wndMaskEdit.SetWindowText(_T("(123) 123-1212"));//初始化
m_wndMaskEdit.EnableMask(_T(" cc dddd-dddd"), _T("state:__,zip:____-____"), _T(' ')); //设置格式
// the mask string literal default char
m_wndMaskEdit.SetValidChars(NULL);
m_wndMaskEdit.SetWindowText(_T("state:NY,zip:1234-5678"));//初始化
m_wndMaskEdit.EnableMask(_T(" AAAA"), _T("S/N:____"), _T(' '));
m_wndMaskEdit.SetValidChars(NULL);
m_wndMaskEdit.SetWindowText(_T("S/N:FP5R"));
m_wndMaskEdit.SetValidChars(_T("1234567890abcdefABCDEF"));
m_wndMaskEdit.DisableMask();
2.重载OnChar()。 (中文如何处理?)
BEGIN_MESSAGE_MAP(CMyEdit, CEdit)
ON_WM_CHAR()
END_MESSAGE_MAP()
void CMyEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
//nChar 为按下的字符。 可根据判断改变是否需要传递。如if(nChar == 31) return;
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
::IsDBCSLeadByte(nChar) //判断是否为中文