全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2449
推到 Plurk!
推到 Facebook!

動態產生Tabsheet

尚未結案
Sanyuan
一般會員


發表:24
回覆:32
積分:11
註冊:2002-06-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-20 20:03:31 IP:211.75.xxx.xxx 未訂閱
form1 裡有 pagecontrol1 裡又有 tabsheet1 裡又有 edit1 參考之前討論的文章 var newTabSheet: TTabSheet; begin newTabSheet := TTabSheet.Create(Self); newTabSheet.Caption := '新的 TabSheet'; newTabSheet.PageControl := PageControl1; end; 若按照上面寫法,是會產生一個新的tabsheet 但tabsheet不會有edit,而是一個空的tabsheet 請問要如何產生與tabsheet一樣的sheet呢 請各位指教,謝謝
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-20 20:46:29 IP:202.39.xxx.xxx 未訂閱
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  with PageControl1 do
    for i := 0 to 9 do
      with TTabSheet.Create(Self) do
      begin
        PageControl := PageControl1;
        Pages[i].TabVisible := (i mod 2 = 0);
        Caption := 'PageIndex: '  
        IntToStr(Pages[i].PageIndex)   '  TabIndex: '  
          IntToStr(Pages[i].TabIndex);
      end;
end;
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-20 20:53:27 IP:61.221.xxx.xxx 未訂閱
Hi, 你在 form 上放一個 PageControl 和 Button 然後在 Button click 的 event 中寫程式如下, 建立一個 TabSheet (ts1) 放在 PageControl (PageControl1) 上, 建立一個 Edit (ed1) 在新建的 TabSheet (ts1)上即可!!
procedure TForm1.Button1Click(Sender: TObject);
var
  ts1: TTabSheet;
  ed1: TEdit;
begin
  ts1:= TTabSheet.Create(self);
  ts1.Caption := 'ts1';
  ts1.PageControl := PageControl1;
  ed1:= TEdit.Create(self);
  ed1.Parent := ts1;
  ed1.Top := 20;
  ed1.Left := 50;
  ed1.Text := 'this is ed1';
end;
Sanyuan
一般會員


發表:24
回覆:32
積分:11
註冊:2002-06-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-20 21:41:01 IP:211.75.xxx.xxx 未訂閱
我想是我說明的不太清楚 我再說明清楚一些好了 應該說原本就有一個form上有一個pagecontrol的元件 pagecontrol元件上有一個tabsheet1 tabsheet1上面放了粉多元件 以上都是執行前拉好的元件 小弟的需求是 在程式執行後 按個button 能在pagecontrol上再增加一個tabsheet2 而tabsheet2不是空的 上面的元件與功能同tabsheet1 不之各位是否了解 順道問一下,若tabsheet1上有一個操作資料庫的navigator 若以此方式新增了一個tabsheet2 上面也有一個navigator 這兩個再執行時 會相衝突嗎?
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-02-20 21:57:29 IP:61.221.xxx.xxx 未訂閱
若是需要同時建構多個元件的話, 建議你使用 Frame 的功能. 在原來的 tabsheet 上放一個 Frame , Frame 裡的東東就是 你原來在 tabsheet 上的所有元件, 這樣比較理想. 另外你的第二個問題, 其 navigator 的 datasource 若是指 向同一個的話, 不會發生衝突, 只是可以那兩個 navigator 將會是同步的(REDUNDENT)!!
Sanyuan
一般會員


發表:24
回覆:32
積分:11
註冊:2002-06-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-02-21 09:09:37 IP:211.75.xxx.xxx 未訂閱
我想打個比喻好了 假設這是個醫生所使用的系統 今天看病的相關訊息是在tabsheet1上編輯 但醫生需要參考這個病患之前的資料(by 日期) 所以已動態產生的方式 將此病患之前看診日期的資料show出 成為tabsheet2 ,tabsheet3 ......... 所以tabsheet是隨著歷史資料的增加而增加 歷史資料的部分是否可以new 一個的tabsheet1的方式來寫呢? 麻煩各位了,這困擾了許久
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-02-21 10:27:06 IP:61.219.xxx.xxx 未訂閱
當然可以啊, Create TabSheet如 timhuang所說 只是TabSheet Create後還須遂一Create上面所有元件,所以Timhuang建議用Frame比較方便
Sanyuan
一般會員


發表:24
回覆:32
積分:11
註冊:2002-06-23

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-02-24 16:14:23 IP:211.75.xxx.xxx 未訂閱
謝謝各位 原本想說可以直接copy一個與tabsheet1一模一樣的說 我想我先搞清楚frame的應用好了 謝謝!
系統時間:2024-05-05 8:13:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!