如何針對 Tabsheet 的 index 呼叫函式 |
答題得分者是:hagar
|
zombit
初階會員 發表:63 回覆:39 積分:30 註冊:2004-05-11 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
試試如下的做法:
var f: TFrame; i: integer; tab: TTabSheet; begin tab := PageControl1.ActivePage; for i := 0 to tab.ControlCount - 1 do begin if tab.Controls[i] if TFrame then begin f := TFrame(tab.Controls[i]); // 接著就可以用 f.xxx 來控制這個 TFrame 了 end; end; end;-- hagar. |
zombit
初階會員 發表:63 回覆:39 積分:30 註冊:2004-05-11 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
在 Form 上按右鍵,選 View As Text
可以看到該 Form 的 dfm 檔內容
小弟的例子如下:
object Form1: TForm1 Left = 177 Top = 113 Width = 501 Height = 427 Caption = 'Form1' Color = clBtnFace Font.Charset = ANSI_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Courier New' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 14 object PageControl1: TPageControl Left = 16 Top = 112 Width = 449 Height = 193 ActivePage = TabSheet1 TabOrder = 3 object TabSheet1: TTabSheet Caption = 'TabSheet1' object Label1: TLabel Left = 128 Top = 40 Width = 42 Height = 14 Caption = 'Label1' end object Button4: TButton Left = 24 Top = 32 Width = 75 Height = 25 Caption = 'Button4' TabOrder = 0 end object Memo1: TMemo Left = 32 Top = 72 Width = 185 Height = 89 Lines.Strings = ( 'Memo1') TabOrder = 1 end object Panel1: TPanel Left = 264 Top = 32 Width = 105 Height = 89 Caption = 'Panel1' TabOrder = 2 end end object TabSheet2: TTabSheet Caption = 'TabSheet2' ImageIndex = 1 end end end您可以看到在 TabSheet1 的下一層分別有 Label1/Button1/Memo1/Panel1 四個 object 其中 Label1 為第 1 個 小弟用一 Button1 的 Click 來測試 發現 TabSheet1.Controls[0].Name 為 Label1 您可試試由這個方式來檢查看看是不是每次都對 -- hagar. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |