【问题标题】:How to Get a value from a form in side a PageControl如何从页面控件一侧的表单中获取值
【发布时间】:2018-01-19 17:38:55
【问题描述】:

以下是我创建 My 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 和 Form 的方式。

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 属性中存储的文本吗? 提前致谢

【问题讨论】:

    标签: delphi delphi-10.2-tokyo


    【解决方案1】:

    没有看到 TFrmSubExchange 的 DFM,这只是一个猜测,但您可以尝试这样的事情:

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

    【讨论】:

    • 这正是我所需要的,非常感谢
    猜你喜欢
    • 2023-03-13
    • 1970-01-01
    • 2011-01-11
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多