TEdit组件的OnKeyPress事件问题

geniushuai 2006-06-06 11:16:45
如我不想在组件中输入1时我添加如下代码
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
AnsiString t;
if(Key=='1')
{
t=Edit1->Text;

t.Delete(t.Length(),1);
Edit1->Text= t;
}
}
但运行结果绝对是错的,
我设断电看了,发现在事件处理完成后,组件还是在Text中添加了1,请高手指教
...全文
146 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
geniushuai 2006-06-07
  • 打赏
  • 举报
回复
谢谢
tianshu888 2006-06-07
  • 打赏
  • 举报
回复
不用逆那么麻烦
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if(Key=='1') Key = 0;//这一句就行 如果输入1就取消
daydayup234 2006-06-07
  • 打赏
  • 举报
回复
if(Key=='1')
Key='\0';
Janes001 2006-06-07
  • 打赏
  • 举报
回复
我想这样会更好吧,如果Key是1,直接将Key设置为0,而不要再去删除它。

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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