在Delphi TMS Web Core中动态创建并显示TWebFrame

在Delphi TMS Web Core中动态创建并显示TWebFrame-Delphi 大神网
在Delphi TMS Web Core中动态创建并显示TWebFrame
此内容为付费阅读,请付费后查看
1
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费阅读
欢迎加入全网最大Delphi 技术交流群 682628230
在TMS Web Core中,TWebFrame用于组织和重用界面组件。与VCL或FMX不同,TMS Web Core基于HTML和JavaScript,因此在动态创建TWebFrame时,需要确保正确加载和渲染其子组件。

 

当你尝试动态创建一个TWebFrame并将其显示在主表单上时,可能会发现创建的框架是空的,没有包含任何子组件。这是因为TMS Web Core需要显式调用LoadFromForm方法来加载和渲染框架中的组件。

解决方法

为了正确创建并显示TWebFrame,需要在创建框架后调用LoadFromForm方法。以下是完整的步骤和代码示例:
  1. 定义TWebFrame: 在一个单独的单元中定义你的TWebFrame,并添加所需的组件。
    delphi复制
    unit Unit2;
    
    interface
    
    uses
      System.SysUtils, System.Classes, JS, Web, WEBLib.Graphics, WEBLib.Controls,
      WEBLib.Forms, WEBLib.Dialogs, Vcl.StdCtrls, WEBLib.StdCtrls, Vcl.Controls, WEBLib.ExtCtrls;
    
    type
      TFrameDemo = class(TWebFrame)
        WebLabel1: TWebLabel;
        WebPanel1: TWebPanel;
        WebLabel2: TWebLabel;
        WebMemo1: TWebMemo;
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      FrameDemo: TFrameDemo;
    
    implementation
    
    {$R *.dfm}
    
    end.
  2. 动态创建并显示TWebFrame: 在主表单中,动态创建TWebFrame并调用LoadFromForm方法。
    delphi复制
    procedure TFormMain.WebFormCreate(Sender: TObject);
    var
      aFrame: TWebFrame;
    begin
      // 创建TWebFrame实例
      aFrame := TFrameDemo.Create(Application);
      aFrame.Name := 'MyFrame';
      aFrame.Visible := True;
      aFrame.Parent := FormMain; // 设置父容器
      aFrame.Align := alClient;  // 设置布局方式
    
      // 调用LoadFromForm方法加载和渲染子组件
      aFrame.LoadFromForm;
    end;

关键点解释

  • LoadFromForm方法
    • 在TMS Web Core中,LoadFromForm方法用于加载和渲染TWebFrame中的子组件。
    • 如果不调用LoadFromForm,框架中的组件将不会被正确加载,导致框架显示为空。
  • 设置父容器
    • 通过Parent属性将框架添加到主表单或其他容器中。
    • 确保父容器已经正确初始化。
  • 布局方式
    • 使用Align属性设置框架的布局方式,例如alClient表示框架会填充整个父容器。

 

  1. 确保框架文件正确加载
    • 确保在主表单中正确引用了包含TWebFrame定义的单元文件。
    • 如果框架中的组件依赖于外部资源(如CSS或JavaScript文件),确保这些资源已正确加载。
  2. 组件初始化
    • 如果框架中的组件需要在加载时执行特定的初始化操作,可以在TWebFrame的构造函数或OnCreate事件中实现。
  3. 调试工具
    • 使用浏览器的开发者工具(如Chrome DevTools)检查DOM结构,确保框架及其组件已正确加载。

 

在TMS Web Core中动态创建并显示TWebFrame时,需要调用LoadFromForm方法来加载和渲染框架中的子组件。通过正确设置父容器和布局方式,可以确保框架正常显示并包含所有子组件。
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享