控件焦点问题!!! (100分)

  • 主题发起人 主题发起人 kfbying
  • 开始时间 开始时间
K

kfbying

Unregistered / Unconfirmed
GUEST, unregistred user!
窗体上有DBgrid和Panel,其中Panel上有两个button(新建、编辑),
用上下箭头浏览DBgrid数据时要求“编辑”按钮有焦点,按回车执行click事件,当用下箭
头增加新记录时,“新建”按钮有焦点,按回车执行click事件;
我用setFouces方法不通,怎么实现?
 
由于在界面上只能有一个焦点,如果你想用上下箭头移动记录,同时确定按钮的焦点
是行不通的,因为当焦点移到按钮上以后,在用上下箭头,焦点就会从按钮开始切换,
而不是继续在DBGrid中移动。如果不是这样的话就不能称之为焦点了!
你的问题可以用下面的办法来解决:(通过DBGrid的OnKeyDown事件)
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if not Table1.Eof then
begin
if key = VK_RETURN then
begin
{调用编辑按钮的OnClick 事件,如:Button1Click(Sender);}
end;
end
else
begin
if key = VK_RETURN then
begin
{调用新建按钮的OnClick 事件,如:Button2Click(Sender);}
end;
end;
end;
 
多人接受答案了。
 
后退
顶部