【MFC】判断CEdit控件输入内容是否为数字、大写字母、常用汉字
2018-02-02 03:37
453 查看
创建自定义控件class CFilterEdit : public CEdit,控件不能为Unicode编码。加载响应函数OnChar如下:
void CFilterEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
// 允许BackSpace删除操作
if (nChar == 8)
CEdit::OnChar(nChar, nRepCnt, nFlags);
if(nChar <= '9' && nChar >= '0')//数字
CEdit::OnChar(nChar, nRepCnt, nFlags);
else if (nChar <= 'Z' && nChar >= 'A')//大写字母
CEdit::OnChar(nChar, nRepCnt, nFlags);
else if (nChar <= 'z' && nChar >= 'a')//小写字母转大写输出
CEdit::OnChar(nChar - 32, nRepCnt, nFlags);
// OnChar响应汉字输入的方式:划分为高、低字节组合,依次响应
if (IsChineseCharANSI(nChar))
CEdit::OnChar(nChar,
nRepCnt, nFlags);
return;
//CEdit::OnChar(nChar, nRepCnt, nFlags);
}
BOOL IsChineseCharANSI(BYTE inputChar)
{
BOOL bResult = FALSE;
// 依据为国标GB2312-1980的汉字编码方式,常用字编码
if (inputChar >= 0xB0 && inputChar <= 0xF7)
bResult = TRUE;
else if (inputChar >= 0xA1 && inputChar <= 0xFE)
bResult = TRUE;
return bResult;
}
void CFilterEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
// 允许BackSpace删除操作
if (nChar == 8)
CEdit::OnChar(nChar, nRepCnt, nFlags);
if(nChar <= '9' && nChar >= '0')//数字
CEdit::OnChar(nChar, nRepCnt, nFlags);
else if (nChar <= 'Z' && nChar >= 'A')//大写字母
CEdit::OnChar(nChar, nRepCnt, nFlags);
else if (nChar <= 'z' && nChar >= 'a')//小写字母转大写输出
CEdit::OnChar(nChar - 32, nRepCnt, nFlags);
// OnChar响应汉字输入的方式:划分为高、低字节组合,依次响应
if (IsChineseCharANSI(nChar))
CEdit::OnChar(nChar,
nRepCnt, nFlags);
return;
//CEdit::OnChar(nChar, nRepCnt, nFlags);
}
BOOL IsChineseCharANSI(BYTE inputChar)
{
BOOL bResult = FALSE;
// 依据为国标GB2312-1980的汉字编码方式,常用字编码
if (inputChar >= 0xB0 && inputChar <= 0xF7)
bResult = TRUE;
else if (inputChar >= 0xA1 && inputChar <= 0xFE)
bResult = TRUE;
return bResult;
}
相关文章推荐
- C#判断输入的字符串中是否含有大写字母,小写字母,数字,字符
- 判断输入的是否为汉字或者数字
- js控制文本框输入的内容为(数字、字母、汉字)(一、js在控件中实现)
- 判断输入的是否为汉字或者数字
- Python学习笔记——判断输入内容是否为数字
- 判断输入的是否为汉字或者数字
- C#怎么判断输入内容是否为数字
- iOS 判断输入框内容是否是数字,并可以时时判断输入内容是否符合金额形势
- javascript判断输入内容是否全部是数字
- 判断输入是否是纯数字,英文,汉字的函数源码
- iOS 判断输入框内容是否为数字,并判断输入首位内容是否为0,时时获取输入的新内容
- C#判断输入的字符串中是否含有大写字母,小写字母,数字,字符
- ios判断输入的文本框de内容是否是汉字
- Ext 的文本输入控件实现即时判断输入内容是否已存在与系统中
- C#判断输入的字符串中是否含有大写字母,小写字母,数字,字符
- js判断文本框输入的内容是否为数字
- 判断输入的内容是否为数字
- 使用NumberFormatter判断TextInput输入内容是否为数字,如果是则格式化数字。
- JS判断文本输入内容是否为数字
- Java中判断输入的字符串是否为数字常用方法