只能在edit控件中输入指定的字符;
1.继承从CEdit继承一个类,CMyEdit,修改CMyEdit如下内容
//MyEdit.h中增加
public:
afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
//MyEdit.cpp中增加
BEGIN_MESSAGE_MAP(CMyEdit, CEdit)
ON_WM_CHAR()
END_MESSAGE_MAP()
//只允许输入0~9,a~f,A~F,空格,删除键;
void CMyEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if ((nChar >= '0') && (nChar <= '9'))
return CEdit::OnChar(nChar,nRepCnt,nFlags);
if ((nChar >= 'a') && (nChar <= 'f'))
return CEdit::OnChar(nChar,nRepCnt,nFlags);
if ((nChar >= 'A') && (nChar <= 'F'))
return CEdit::OnChar(nChar,nRepCnt,nFlags);
if (nChar == VK_SPACE || nChar == VK_BACK)
return CEdit::OnChar(nChar,nRepCnt,nFlags);
}
主要截获onchar消息。
在对话框中添加一个edit控件,并添加控件变量m_Edt,修改m_Edt的类型为CMyEdit。
此时添加的edit控件就只能输入以上的信息。