捕捉文本改变的消息
如果是数字,就传给 CEdit 父类
否则过滤掉
望高手请教
16 个解决方案
#1
持续关注中....
#2
处理CEdit 的派生类中的WM_CHAR消息
#3
如果只是单纯的只许输入数字的话 就没必要继承,直接改edit的属性,勾上那Number即可
#4
添加ES_NUMBER风格 即可过滤除数字外的字符输入
GetParent()->SendMessage(XXXXXX
GetParent()->SendMessage(XXXXXX
#5
顶起
#6
我也是这么做的,void CMyEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if (IsCharAlpha((TCHAR)nChar))
{
CEdit::OnChar(nChar, nRepCnt, nFlags);
MessageBox(TEXT("输入的是字母"),TEXT("信息提示"),MB_OK);
} else {
MessageBox(TEXT("输入的是数字"),TEXT("信息提示"),MB_OK);
}
}
但是当我想文本框写入数据的时候,并没有提示框弹出
#7
如何让对话框中的文本框知道我的派生类改写了onChar方法呢?
#8
如果想让edit只接受数字向上面大家说的编辑资源属性就好了
你要是非用代码实现就在PreTranslateMsg里拦截
你要是非用代码实现就在PreTranslateMsg里拦截
#9
其实我的目的很明确,就是为了让文本框可以截获我派生类(继承自CEdit)重载的Onchar方法?怎么实现。上面的各位回答的明确一点行不
#10
问题解决了。就是让这个文本框 add Variable添加变量,让变量继承自CMyEdit即可实现方法的重载
#11
嗨.............
#12
倒分。。。。
#13
恭喜了
#14
又见倒分贴
#15
果然很杯具
#16
0000000000000000000
#1
持续关注中....
#2
处理CEdit 的派生类中的WM_CHAR消息
#3
如果只是单纯的只许输入数字的话 就没必要继承,直接改edit的属性,勾上那Number即可
#4
添加ES_NUMBER风格 即可过滤除数字外的字符输入
GetParent()->SendMessage(XXXXXX
GetParent()->SendMessage(XXXXXX
#5
顶起
#6
我也是这么做的,void CMyEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if (IsCharAlpha((TCHAR)nChar))
{
CEdit::OnChar(nChar, nRepCnt, nFlags);
MessageBox(TEXT("输入的是字母"),TEXT("信息提示"),MB_OK);
} else {
MessageBox(TEXT("输入的是数字"),TEXT("信息提示"),MB_OK);
}
}
但是当我想文本框写入数据的时候,并没有提示框弹出
#7
如何让对话框中的文本框知道我的派生类改写了onChar方法呢?
#8
如果想让edit只接受数字向上面大家说的编辑资源属性就好了
你要是非用代码实现就在PreTranslateMsg里拦截
你要是非用代码实现就在PreTranslateMsg里拦截
#9
其实我的目的很明确,就是为了让文本框可以截获我派生类(继承自CEdit)重载的Onchar方法?怎么实现。上面的各位回答的明确一点行不
#10
问题解决了。就是让这个文本框 add Variable添加变量,让变量继承自CMyEdit即可实现方法的重载
#11
嗨.............
#12
倒分。。。。
#13
恭喜了
#14
又见倒分贴
#15
果然很杯具
#16
0000000000000000000