Delphi-PRAXiS
Seite 1 von 3  1 23      

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 VCL Formular in ein Panel einbetten (https://www.delphipraxis.net/200963-vcl-formular-ein-panel-einbetten.html)

delphicoder123 11. Jun 2019 19:26

VCL Formular in ein Panel einbetten
 
Im Formular "Form1" befindet sich ein Panel.
Auf diesem Panel soll ein zweites Formular "Form2" eingebettet werden.
Es sollen aber nicht nur die Komponenten eingebettet werden, sondern auch die Funktionsweise.
Ich verwende ein VCL Formular.

Suchfunktion habe ich schon verwendet. Trotzdem bekomme ich es anhand des Beispiels nicht hin.
https://www.delphipraxis.net/27476-f...einbetten.html

Was mache ich falsch?
Hier ist mein aktueller Code:

Code:
unit parent;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, child;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1 := TForm1.Create(Panel1);
  Form1.Parent := Panel1;
  Form1.SetBounds(10,10,Form2.Width, Form2.Height);
  Form1.FormStyle := fsNormal; // Hatte diese Zeile vergessen
  Form1.Visible := true;
end;

end.

Code:
unit child;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm2 = class(TForm)
    btnCalc: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    procedure btnCalcClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.btnCalcClick(Sender: TObject);
begin
edit3.Text:=edit1.Text+edit2.Text;
end;

end.

hoika 11. Jun 2019 19:30

AW: VCL Formular in ein Panel einbetten
 
Hallo,
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1 := TForm1.Create(Panel1);
Ich dachte, du wolltest Form2 erstellen.

delphicoder123 11. Jun 2019 19:47

AW: VCL Formular in ein Panel einbetten
 
Zitat:

Zitat von hoika (Beitrag 1434367)
Hallo,
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1 := TForm1.Create(Panel1);
Ich dachte, du wolltest Form2 erstellen.


Was ist jetzt genau mein Fehler?

hoika 11. Jun 2019 20:21

AW: VCL Formular in ein Panel einbetten
 
Hallo,

alt
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1 := TForm1.Create(Panel1);
neu
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Form2 := TForm2.Create(Panel1);

uligerhardt 11. Jun 2019 20:51

AW: VCL Formular in ein Panel einbetten
 
Außerdem: Wenn möglich, nimm Frames statt Forms, wenn du es einbetten willst.

Luckie 11. Jun 2019 21:17

AW: VCL Formular in ein Panel einbetten
 
Warum willst du ein Auto in den Kofferraum eines anderen Autos packen? :roll:

EWeiss 11. Jun 2019 21:30

AW: VCL Formular in ein Panel einbetten
 
Zitat:

Zitat von Luckie (Beitrag 1434374)
Warum willst du ein Auto in den Kofferraum eines anderen Autos packen? :roll:

Zitat:

Auf diesem Panel soll ein zweites Formular "Form2" eingebettet werden.
Wir wissen doch gar nicht warum und welchen zweck er damit erfüllen will.

Weist du eigentlich wie viele Windows ich in einem anderen Parke?
Überlege mal was ein Button ist..
Vielleicht will er genau das damit bezwecken.. lediglich die Form als Fenster(Window) zweckentfremden.

Ein Auto-Fahrzeugtransporter tut nichts anderes. ;)

gruss

Luckie 11. Jun 2019 21:39

AW: VCL Formular in ein Panel einbetten
 
Deswegen Frage ich ja. Und ja ich weiß was Schaltflächen und andere Kontrollelemente sind. Aber eine Schaltfläche ist kein Hauptfenster und kann es nicht sein. Und wenn du ein Auto mit einem Auto transportierst, dann benutzt du ein Auto, was dafür gedacht ist. Im Falle der VCL wären das, wie oben schon gesagt, Frames.

EWeiss 11. Jun 2019 21:40

AW: VCL Formular in ein Panel einbetten
 
Zitat:

Zitat von Luckie (Beitrag 1434376)
Deswegen Frage ich ja. Und ja ich weiß was Schaltflächen und andere Kontrollelemente sind. Aber eine Schaltfläche ist kein Hauptfenster und kann es nicht sein. Und wenn du ein Auto mit einem Auto transportierst, dann benutzt du ein Auto, was dafür gedacht ist.

Nun ja ein MDI-Hauptformular ist nichts anderes als eine Form und es ist durchaus berechtigt diese in eine andere Form zu parken..
Abgesehen davon das es noch erwünscht ist.. macht man ja heute nicht mehr.
Zitat:

Und ja ich weiß was Schaltflächen
Ist mir klar.. ;)

gruss

delphicoder123 11. Jun 2019 22:14

AW: VCL Formular in ein Panel einbetten
 
Zitat:

Zitat von uligerhardt (Beitrag 1434373)
Außerdem: Wenn möglich, nimm Frames statt Forms, wenn du es einbetten willst.

Du meinst, dass ich ein VCL-Frame anstatt eines VCL Formular nehmen soll?
Es können gerne auch andere antworten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 Uhr.
Seite 1 von 3  1 23      

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