Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Twebbrowser auf einem TabSheet zur Laufzeit erzeugen (https://www.delphipraxis.net/64021-twebbrowser-auf-einem-tabsheet-zur-laufzeit-erzeugen.html)

Klaus01 26. Feb 2006 12:02


Twebbrowser auf einem TabSheet zur Laufzeit erzeugen
 
Hallo,

ich habe da ein hoffentlich kleines Problem.
In einem Projekt möchte ich zur Laufzeit TabSheets erzeugen und auf
diese erzeugten TabSheets noch einen Webbrowser legen.
Der Webbrowser soll das ganze TabSheet bedecken, tut er aber nicht.
Er quetscht sich in die obere rechte Ecke.

Vielleicht hatte ja jemand von Euch schon mal ein ähnliches Problem und weiß eine Lösung.

Hier ist der Delphicode:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls,ShDocVw, ExtCtrls, OleCtrls;

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    Button1: TButton;
    Panel1: TPanel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  ttabsheet2 = class(TTabsheet)
    webbrowser: TWebbrowser;
    alarmlist : TComboBox;
    alarmpanel: TPanel;
  private

  public
   constructor create(AOwner:TComponent);override;
   destructor destroy; override;
  end;


var
  Form1: TForm1;


implementation

{$R *.dfm}


constructor TTabSheet2.create(AOwner:TComponent);
begin
  inherited create(AOwner);
  self.Align:=alClient;
  self.Color:=0;
  webbrowser:=Twebbrowser.Create(self);


  alarmpanel := TPanel.Create(self);
  alarmlist := TCombobox.Create(self);

end;

destructor TTabsheet2.destroy;
begin
  alarmpanel.Free;
  alarmlist.Free;
  webbrowser.Free;
  inherited destroy;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  tabsheet:TTabSheet2;
begin

  tabsheet:=TTabSheet2.create(PageControl1);
  tabsheet.Show;
  tabsheet.Visible:=true;
  tabsheet.PageControl:=PageControl1;

  // bindet den Webbrowser an das Tabsheet
  tabSheet.webbrowser.ParentWindow:=tabsheet.Handle;

  // Webbrowser soll im gesamten TabSheet angezeigt werden
  tabsheet.webbrowser.Align:=alClient;

  tabsheet.Anchors:=[akLeft,akTop,akRight,akBottom];



  tabSheet.webbrowser.Navigate('www.google.de');


end;

end.
Grüße
Klaus

marabu 26. Feb 2006 12:28

Re: Twebbrowser auf einem TabSheet zur Laufzeit erzeugen
 
Hallo Klaus,

besser du machst es so:

Delphi-Quellcode:
procedure TDemoForm.ButtonClick(Sender: TObject);
var
  ts: TTabSheet;
  wb: TWebBrowser;
begin
  ts := TTabSheet.Create(PageControl);
  ts.Caption := 'Window &' + Chr(Ord('0') + PageControl.PageCount);
  ts.PageControl := PageControl;
  wb := TWebBrowser.CreateParented(ts.Handle);
  wb.Align := alClient;
  ts.InsertControl(wb);
  PageControl.ActivePage := ts;
  wb.Navigate('http://www.google.de');
end;
Grüße vom marabu

Klaus01 26. Feb 2006 12:39

Re: Twebbrowser auf einem TabSheet zur Laufzeit erzeugen
 
Hallo marabu,

werde ich so ausprobieren.

Danke für die schnelle Hilfe.

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz