怎樣得到上一個焦點﹖(50分)

  • 主题发起人 主题发起人 databox
  • 开始时间 开始时间
D

databox

Unregistered / Unconfirmed
GUEST, unregistred user!
我表單上有5個TEDIT控件﹐我想根據EDIT的不同做不同的事。但當我按查詢鍵時﹐焦點已經
在按鈕上了﹐我怎么知道上一個焦點是在哪兒﹖
 
定义一个全局变量
; ; fouseEdit:TEdit;//当前焦点

procedure TTubanfrm.bdleditExit(Sender: TObject);
begin
; ; fouseEdit:=sender as TEdit;//当前焦点
end;
 
我给你提供一种思路
你用一个stringlist来记录获得焦点的对象
有对象获得焦点就向里面添加进去
这样一来你就可以查到一個焦點是在哪兒
 
查TabOrder属性,且TabStop为true的,
 
yanlei的方法最好﹐但我不光是TEdit﹐還有TComboBox等其他控件﹐怎么寫呢﹖
ActiveControl表示當前焦點的控件﹐那有沒有表示上一個焦點的寫法﹐或者其他更好的方
法﹖
to OopsWare,查TabOrder属性是什么意思﹖我看所有控件都是為True呀。能說清楚一點嗎﹖
 
button1.setfocus;
 
为什么不采用容器的controls属性??
 
zgdtxf,怎么用他來取得焦點﹐能不能來點簡單的提示﹐只要簡單且能得到焦點就給分!
 
if key = VK_UP then
; ; perform(WM_NEXTDLGCTL, -1, 0); {移动到上一个控件}
; if key = VK_DOWN then
; ; perform(WM_NEXTDLGCTL, 0, 0); {移动到下一个控件}
 
例如:
procedure TForm1.Button1Click(Sender: TObject);
var t:tedit;
begin
t:=tedit(self.Controls[0]);
t.SetFocus ;
end;
 
多人接受答案了。
 
后退
顶部