mdi窗体的问题?(20分)

  • 主题发起人 主题发起人 tanmingyl
  • 开始时间 开始时间
T

tanmingyl

Unregistered / Unconfirmed
GUEST, unregistred user!
子窗体不能接受回车按键??
procedure TForm3.LabeledEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
showmessage('按下回车就等于执行按下Tab键');
end;

end.
问题:
1.子窗体不能接受回车按键??(一点反应也没有)
2.如何实现按下回车之后就相当于按于Tab按键??
 
代码直接在子窗口处写~
 
我就是在子窗体里写的??
 
各位高人帮我看看是怎么回事??
 
没有问题的,如果真的响应,不是这里的问题。
 
那到底是怎么回事呢??
应该怎么处理呢?
 
写在窗体中事件肯定没事;
但要是写在控件事件中就要看它是否有输入焦点了;
好像是没有窗体句柄的控件,就没有输入焦点,就像TLabel;
如果我说的有什么不对,请原谅[:)]
 
我在窗体上放了一个panel1,algin:=alLeft,
其它的labledEdit控件就是放在这个panel1上面。

是不是这个原因。
如果是这个原因,怎么解决??
 
你是否把主窗口的Keypreview设为TRUE,而且处理了主窗口的按键事件.
 
没有,我没有把主窗口的Keypreview设为TRUE,也没处理主窗口的按键事件??
 
2.如何实现按下回车之后就相当于按于Tab按键??

procedure TForm3.LabeledEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then Key:=8;//是8还是9我记不清楚了,自己试试。
end;
 
没有,我没有把主窗口的Keypreview设为TRUE,也没处理主窗口的按键事件??
 
大家救救我啊。
怎么做都不行??
怎么回事啊??
 
还是不行啊??为什么不能用键盘事件??
keydown和keypress都不起作用??
 
procedure TForm3.LabeledEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
showmessage(inttostr(key));
if key=65 then
showmessage('ok');

end;
把 key=65 等键就可以执行!!
把key=13 (回车键)就没有反应?? 怎么回事??
如何解决
 
大家帮帮我啊。
 
是不是分太少了。
如果不够你们提出来啊!!!
还要加多少分,只要我还够!!!
帮帮我吧。
怎么做都不行??
是不是这个子窗体建立有问题??
procedure TForm1.CreateMDIChild;
var
Child:TForm3;
begin
Child:=TForm3.Create(application);
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
CreateMDIChild;
end;
end.

所以让key=13 不能响应??
其它的键却可以??
怎么办呢??
 
你试试
if key=chr(13) then
showmessage('ok');
 
不行??
procedure TForm1.CreateMDIChild;
var
Child:TForm3;
begin
Child:=TForm3.Create(self);
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
CreateMDIChild;
end;
end.

我先把这个设为不自动建立.然后
这个子窗体是按下主窗体的speedbutton按钮后,创立的.

我觉得原因就来自这个问题。
但是不知道怎么解决??
 
to tanmingyl
我用Delphi6 测试没问题阿
把你的邮箱告诉我,我给你发过去
 
后退
顶部