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 TForm als TFrame erben/verwenden ? (https://www.delphipraxis.net/106068-tform-als-tframe-erben-verwenden.html)

spacewolf 4. Jan 2008 18:42


TForm als TFrame erben/verwenden ?
 
Frohes Fest, ähmmm Frohes Neujahr,

ich habe eine TForm mit allerlei Funktionalitäten drin, das nutze ich in einen Program als MDI-Child. :warn:
Wiederum möchte ich diese Form in einem anderen Form als Frame verwenden. :gruebel:
Ich weiß, ich weiß gleich ein Frame draus machen und das dann ggf. in die Forms legen - :pale:
- damit hatte ich aber in der Vergangenheit nur Ärger gehabt sobald man ein und das selbe Frame in verschiedenen Projekten verwendet. :pale:

Kann ich ein Form als Frame erben :nerd: und in einem anderen Form als Client auf einem Panel anzeigen lassen bzw. verwenden? :roteyes:

Danke für eure Ideen

Andreas

:coder2:

Dezipaitor 4. Jan 2008 18:47

Re: TForm als TFrame erben/verwenden ?
 
Ein Frame ist doch auch nichts anderes als ein Fenster.
Entferne doch daher einfach die Titel- und Grenzleiste und setze das Fenster worein du willst.

spacewolf 4. Jan 2008 19:35

Re: TForm als TFrame erben/verwenden ?
 
Bescheidene Frage: Wie?

Kannst Du es Sourcemäßig mal kurz Skizieren?

MStoll 4. Jan 2008 20:50

Re: TForm als TFrame erben/verwenden ?
 
Hi,

versuch's mal so:

Delphi-Quellcode:
TForm1 = class(TForm)
         //....
  protected
    procedure CreateParams(var Params: TCreateParams); override;
    procedure Loaded; override;
  public
    constructor Create(AOwner: TComponent;
                       AParent: TWinControl); reintroduce;

//....

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or WS_CHILD;
end;

procedure TForm1.Loaded;
begin
     inherited;
     Align := alClient;
     BorderStyle := bsNone;
     BorderIcons := [];
     Parent := FTempParent;
     Position := poDefault;
end;

constructor TForm1.Create(AOwner: TComponent; AParent: TWinControl);
begin
     FTempParent := aParent;
     inherited Create(AOwner);
end;
dann rufst du das TForm1.Create einfach mit deinem Container, der dein Formular enthalten soll, als 2. Parameter auf!

Gruß
Michael


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 Uhr.

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