社区
界面
帖子详情
如何限制EDIT框内的输入内容。譬如说位数,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
redhgg1
2007-09-12 12:14:32
AAAAAAAAAA
...全文
785
21
打赏
收藏
如何限制EDIT框内的输入内容。譬如说位数,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
AAAAAAAAAA
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yanglin5131421
2007-09-13
打赏
举报
回复
呵呵
wltg2001
2007-09-12
打赏
举报
回复
楼上的方法可行,如果不是用MFC的话,可以对EDIT进行子类化
appleboyecho
2007-09-12
打赏
举报
回复
在PreTranslateMessage中截获消息,判断是否为要输入的字符,例如
if( ( pMsg.message == WM_KEYDOWN) && (( pMsg.wParam>'0' && pMsg.wParam<'9' ) || ( pMsg.wParam>'A' && pMsg.wParam<'Z' )))
而后做相应的处理
shanhqk
2007-09-12
打赏
举报
回复
EN_Change函数中判断最新输入的哪个字符满足你的要求,也可以实现.
vocanicy
2007-09-12
打赏
举报
回复
继承CEdit写一个新类CMaskEdit
在CMaskEdit中重载OnChar和OnKeyDown消息处理函数
屏蔽其他字符就可以了
qeq2008
2007-09-12
打赏
举报
回复
定义一个EDIT变量系统本身有几种数据类型限制的
如是你需要输入特殊数据类型可以先将输入数据取出分析,不是你想要的数据类型提示重新输入也以通过自给EDIT实现
JerryHsiao
2007-09-12
打赏
举报
回复
输入响应函数里判断,是否处于'0'-'9'||'A'-'F'
redhgg1
2007-09-12
打赏
举报
回复
好了好了,不就20分吗 吵啥啊
zaodt
2007-09-12
打赏
举报
回复
TO: appleboyecho(海纳百川,有容乃大;壁立千仞,无欲则刚)
我也不知道为什么,但是我试验过你的代码,确实不能用了,你试试看!
redhgg1
2007-09-12
打赏
举报
回复
zaodt(至尊宝宝:我就在你身旁,关心永远不打烊!)
一下就能用,还是这样傻瓜版本的好!!!接分咯
appleboyecho
2007-09-12
打赏
举报
回复
楼上的代码漏洞很多!
1、pMsg.message == WM_KEYDOWN 应改为 pMsg.message == WM_CHAR
如果用 WM_KEYDOWN ,那么向左右方向键不能用了;还有 Shift + 2 可以被接收,但内容是 @ 符号,不符合要求。
====================================================================
请教为什么左右方向键不能用呢?
我后面有判断条件,请指教。
zaodt
2007-09-12
打赏
举报
回复
上边代码条件不全,如果达到要求,再增加条件。
zaodt
2007-09-12
打赏
举报
回复
楼主,请看:
/////////////////////////////////////////////////////////
BOOL CMy002Dlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_CHAR)
{
if(pMsg->wParam>'0'&&pMsg->wParam<'9')
return FALSE;
else
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
/////////////////////////////////////////////////////////
在你的对话框中响应 PreTranslateMessage 这个函数,然后写入以上代码,试试看。
redhgg1
2007-09-12
打赏
举报
回复
真好玩,用了以后鼠标也不能按了 太好玩了
向立天
2007-09-12
打赏
举报
回复
pMsg->
redhgg1
2007-09-12
打赏
举报
回复
程序经过调试以后居然说 .wParam左边的东西要是CLASS 或者STRUCT结构
。。。我是不是很麻烦。。。
wltg2001
2007-09-12
打赏
举报
回复
然后怎么办啊 ?
上面这段已经将输入过滤了,不合要求的输入已经不会发给你的程序了.
redhgg1
2007-09-12
打赏
举报
回复
if( ( pMsg.message == WM_CHAR) && (( pMsg.wParam>='0' && pMsg.wParam<='9' ) || ( pMsg.wParam>='A' && pMsg.wParam<='F' )|||| ( pMsg.wParam>='a' && pMsg.wParam<='f' )))
然后怎么办啊 。怎么设置输入的无效果呢。我是新手很白的。这么多人帮我 这20分怎么分啊。。郁闷
zaodt
2007-09-12
打赏
举报
回复
楼上的代码漏洞很多!
1、pMsg.message == WM_KEYDOWN 应改为 pMsg.message == WM_CHAR
如果用 WM_KEYDOWN ,那么向左右方向键不能用了;还有 Shift + 2 可以被接收,但内容是 @ 符号,不符合要求。
2、pMsg.wParam>'0' 应改为 pMsg.wParam>='0' (大于等于0,后边都要改)
sinja1983
2007-09-12
打赏
举报
回复
同意猪的做法
加载更多回复(1)
LayUI_03 前端框架 内置模块
可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)。 若你采用layer.open({type: 1})方式调用,则type为必填项(信息框除外) 类型:String/Array/Boolean,默认:'信息' title支持三...
office VBA 学习
http://www.officefans.net/cdb/viewthread.php tid=25823&fpage=1&highlight=%B7%B5%BB%D8%2B%D0%D0%BA%C5 以下是近段时间从不同地方收集到的一些学习资料,希望对新手有借鉴作用,同时感谢各位对我的支持和帮助,先...
【分享】 [教学]破解完全入门篇
【分享】 [教学]破解完全入门篇 3PtVw f q85y)_c? #r."#)pD 第一章--前言 /.$hZ$ q 好多哥们儿说看教程跟老大的书都看不太明白,所以,我尽量把话说到最容易理解的份上,本文写给那些刚入门和尚未入门的朋友们... !9...
Matlab资料汇总暨MATLAB中文论坛帖子整理(三)
本资料所有问题及代码均摘选自matlab中文论坛,主要供自己学习使用。非常感谢论坛的所有提出以及解答问题的会员。...line([a(1,1) c(1, 1)],[a(1,2) c(1, 2)],[a(1,3) c(1, 3)]); line([c(1,1) b(1, 1)],[c...
Delphi笔记大全
1. Record : TX = Record A : Char; B : Integer; End; type TIntSet = set... Set1 := [1, 3, 5, 7, 9]; //集合用[]来赋值 var
界面
15,978
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章