簡體   English   中英

如何從頁面控件中的表單中獲取值

[英]How to Get a value from a form in side a PageControl

這是我如何創建我的 PageControl。

PageCtrlSub := TPageControl.Create(Self);
PageCtrlSub.Parent := GroupSub;
PageCtrlSub.Align := alClient;
SubFormCnt := 0;
TblOdSub.First;
while not TblOdSub.Eof do
  begin
    SubPartNo := TblOdSub.FieldByName('sub_part_no').AsString;
    AddNewSubTab(SubPartNo,Prc1Rs);
    TblOdSub.Next;
  end;

這是我在 tabSheet 上創建 TabSheet 和表單的方式。

procedure TFrmSub.AddNewSubTab(PartNo : String; PrcRs : TPriceRec);
  var
    i : Integer;
  begin
    inc(SubFormCnt);
    TabSheet := TTabSheet.Create(PageCtrlSub);
    TabSheet.Caption := 'Sub '+ intToStr(SubFormCnt);
    TabSheet.PageControl := PageCtrlSub;
    Form := TFrmSubExchange.Create(Self);
    Form.Name := 'SForm' + IntToStr(SubFormCnt);
    Form.Parent := TabSheet;
    for i := 0 to Componentcount-1 do
      begin
        if (Components[i] is TFrmSubExchange) and (Components[i].Name = 'SForm' + IntToStr(SubFormCnt)) then
          TFrmSubExchange(Components[i]).DataChangedSub(PartNo, PrcRs);
      end;
    Form.Show;
end;

我在創建的每個表單上都有一個 TCaption。 當用戶更改選項卡並按下按鈕時,我需要知道活動選項卡表單上 TCaption.caption 屬性中存儲的文本? 提前致謝

沒有看到TFrmSubExchange的 DFM,這只是一個猜測,但你可以嘗試這樣的事情:

procedure TFrmSub.SomeButtonClick(Sender: TObject);
var
  s: string;
begin
  s := (PageCtrlSub.ActivePage.Controls[0] as TFrmSubExchange).Caption1.Caption;
  ...
end;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM