maskedit控件的editmask属性问题

BCB_MyWork 2006-06-06 04:14:49
editmask属性要怎样设置才能让用户只能输入十六进制的数呢,就是只能输入0到F之间的数.
...全文
246 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
daydayup234 2006-06-06
  • 打赏
  • 举报
回复
void __fastcall TForm1::MaskEdit1KeyPress(TObject *Sender, char &Key)
{
if(Key=='\b')return;//回格键是准许的
if(Key>='a'&&Key<='f')Key-='a'-'A'; //顺便给你换 大写
if(Key<'0'||Key>'F'||Key=='=')Key = '\0';
// 这个足够了,可以不用 MaskEdit1->EditMask
}
tianshu888 2006-06-06
  • 打赏
  • 举报
回复

//用Edit更好一些
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if(!('0' <= Key && Key <= '9' || 'A' <= Key && Key <= 'F' || 'a' <= Key && Key <= 'f' || Key == 8))
{
Key =0;
return;
}
}
//Edit1中只可以输入 0~F 和 删除键 其他的不可以输入
//已测试 可以直接拷贝使用
BCB_MyWork 2006-06-06
  • 打赏
  • 举报
回复
我也找不到方法,看来只能用代码判断了
daydayup234 2006-06-06
  • 打赏
  • 举报
回复
关键是用MaskEdit1->EditMask好象不行,
可以是数字,可以是字母
但好象不能是指定字母的
我可能孤陋寡闻
g60sl22c 2006-06-06
  • 打赏
  • 举报
回复
我尝试很多方法也不成功,还是老老实实用语句实现吧
daydayup234 2006-06-06
  • 打赏
  • 举报
回复
maskedit控件一般用作要“占位”并且固定位有限制情况。

感觉,你这个输入多少位不定,用普通的edit,限制输入字符即可。

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧