在控件TEdit中按回车,为什么会使计算机喇吧发出响声呢?(20分)

  • 主题发起人 Archerfl
  • 开始时间
A

Archerfl

Unregistered / Unconfirmed
GUEST, unregistred user!
当我们在控件TEdit中按回车,这时计算机喇吧便会发出声音,不知道这是为什么呢?
用什么办法可以去掉呢?
 
Edit不接受回车,所以会发出WINDOWS的提示声音。
去掉:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
Key := #0;
Perform(WM_NEXTDLGCTL,0,0);//到下一控件
end;
end;
 
看看

最好能给点分给我
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
Key := #0;
perform(cm_dialogkey,vk_tab,0); //這樣也可以移

end;
end;
 
wolfsong说的不错,Edit控件确实不可接受回车,还有Esc键等,我想正是因为这个原因
造成Windows发出提示声音,但是,之所有Windows发出提示声音也是由消息驱使的,我从
TEdit的类树向上看,没有看到VCL到底是如何处理这种情况下的消息的,以致于可以根据
用户输入条件致使Windows发出提示,请各位大虾指点?
 
如果vcl没有处理,那么可以猜想是windows做的,
毕竟标准控件(比如窗体、button,edit)都是dll,
你的调用是api(就算是你不用api调用,vcl也会)
api是什么?application program interface,翻过来就是应用程序编程接口
也就是个接口么,你能知道它内部怎么做的?

只是猜想一下,错了大家别笑
 
多人接受答案了。
 
顶部