有关于执行顺序的问题,帮帮我吧!谢谢大哥们了!(20分)

  • 主题发起人 主题发起人 goodzuoyu
  • 开始时间 开始时间
G

goodzuoyu

Unregistered / Unconfirmed
GUEST, unregistred user!
我在FORM8(窗口)的DBEDIT1有一个过程(ONENTER)我想应该是在DBEDIT1上打了回车键后执行的代码放到里面
可是我用form8.show后程序就自动执行DBEDIT1的onenter的命令行,
这是什么问题怎么解决?
为什么form8.show后程序会自动执行DBEDIT1的onenter的命令行?
那怎么解决这个问题?
 
Form.onshow 把焦点默认到其他控件上
edit1.SetFocus;
 
敲回车响应不是OnEnter事件哦
要在OnKeyPress(或OnKeyDown)中判断Key是#13(OnKeyDown中判断Key=VK_RETURN)才行
OnEnter是控件取得输入焦点时调用的
 
麻烦借题再问一下:
谁能说一下KEY的哪些值都代表什么键? 如果分不够, 告诉我我再加分谢谢,我看过好像帮助里面没有
 
Key = #27 // ESC
#13 // 回车
#8 // TAB
至于别的,请查 ASCII 码表(可以从字符映射表程序中得到)
 
OnEnter事件在焦点进入到控件时发生的。
比如一个Edit原来没有焦点,在它变成有时,OnEnter就发生了。

要看键值对应关系,可以这样写:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
在这里读Key的值,就可以知道了。
end;
 
多人接受答案了。
 
后退
顶部