在编辑框内回车时,会有"咚"的一声,怎样去掉咚声?(50分)

  • 主题发起人 主题发起人 lindapeng
  • 开始时间 开始时间
L

lindapeng

Unregistered / Unconfirmed
GUEST, unregistred user!
在编辑框内回车时,会有"咚"的一声,非常讨厌,怎样去掉咚声?
 
先设form1.Keypreview:=TRUE
然后ONKEYPRESS时

Procedure Tform1.FormKeyPress(Sender: Tobject; var Key: Char);
begin
If key = #13 then
Begin
Key:= #0;
Perform(Wm_NextDlgCtl,0,0);
end;
end;
 
'咚'的一声, 可能是因为输入的信息不正确, 将Control panel
中将一些系统声音关掉, 应该就不会有问题了。
 
同意Seasky的意见。将控制面板|声音中由于误动作产生的声音去掉即可。
 
我也支持SeaSky和Jams的说法。
 
这是因为Edit不能接受回车,而给出的错误提示,可用BitBtn按扭,
设置ModalResult想应属性,使回车的焦点一直保持在此按扭上,
就不会出现这种情况。
或者换一个可接受回车的控件,如:Memo.
 
使用cytown的程序结构,响应回车键,然后可以将此消息传给窗口.
 
一般来说在EDIT上ENTER的目的无非是确认某件事,如输入口令,回答程序提出的要求等,
因此不必考虑太多的东西,从用户的用度出发做您想做的事,
象在口令框的用户名EDIT中则将焦点移到口令EDIT中:
procedure TForm1.EditUserNameKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key := #0;
EditPassWord.SetFocus;
end
end;
如在口令框中则将最后第三行改为:
BtnOK.Click;
问题不是很容易解决吗?
 
不愿意结束问题吗?需要我为您打扫? :)
 
后退
顶部