Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Komponenten in eigens Form auslagern während es läuft? (https://www.delphipraxis.net/79522-komponenten-eigens-form-auslagern-waehrend-es-laeuft.html)

moelski 24. Okt 2006 09:56

Re: Komponenten in eigens Form auslagern während es läuft?
 
Moin !

Maybe I´m blinded ...

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormShow(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
  form2.show;
end;

end.

samson 24. Okt 2006 10:01

Re: Komponenten in eigens Form auslagern während es läuft?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Bin ich doof?

Ja ich bin doof!!!

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
  form2.show;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if self.Button1.Parent = Form1
    then self.Button1.Parent := Form2
    else self.Button1.Parent := Form1;
end;

end.
Sorry.

Gruß


Frank

moelski 24. Okt 2006 10:03

Re: Komponenten in eigens Form auslagern während es läuft?
 
:thumb:

hsg 24. Okt 2006 10:04

Re: Komponenten in eigens Form auslagern während es läuft?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich mache das in meiner Applikation mit sämtlichen Formularen so.

Meine Vorgehensweise hier: Im Designer designe ich die Fenster ganz normal als Fenster, zur Laufzeit wird bei OnSchow das gesamte Fenster umgeswitched und liegt anschliessend auf einem Panel meines Hauptfensters (Borders werden dabei abgeschaltet, Größe anpasst usw.) Für die Navigation durch die einzelnen Fenster dient ein Virtual TreeView, im Anhang mal ein Screenshot davon, wie das ganze in der Praxis aussieht. Da ich die Fenster selber umhänge, habe ich nicht die Probleme beim Zerstören der Fenster. Wenn natürlich das ganze bei Panels gemacht wird, sollten auch die Owner-Verhältnisse umgebogen werden ....

Gruß Jörg

moelski 24. Okt 2006 10:06

Re: Komponenten in eigens Form auslagern während es läuft?
 
@Jörg:

Kannst du evtl. auch mal ein einfach Beispiel hier reinstellen?
So als Grundlage für Experiemente .. ?

hsg 24. Okt 2006 10:17

Re: Komponenten in eigens Form auslagern während es läuft?
 
Zitat:

Zitat von moelski
@Jörg:

Kannst du evtl. auch mal ein einfach Beispiel hier reinstellen?
So als Grundlage für Experiemente .. ?

Hmm, das würde ein wenig dauern, da ich sehr intensiv von eigenen Komponenten mache (es gibt fast nichts, was ich nicht vorher abgeleitet hätte), aber ich kann ja mal heute abend versuchen was zurecht zu zaubern.

Die Formularklasse hat inzwischen knapp 2000 Zeilen Source-Code :) wieviel Abhängigkeiten zu anderen Sachen darin sind, weiss ich gar nicht mehr...

moelski 24. Okt 2006 10:20

Re: Komponenten in eigens Form auslagern während es läuft?
 
Ui das ich nich ohne ...
Naja falls es klappt ... Schon mal Danke!

hsg999 24. Okt 2006 17:48

Re: Komponenten in eigens Form auslagern während es läuft?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich habe nun mal versucht, das ganze etwas zu kürzen und habe dazu ein kleines Beispiel geschrieben.
Die interessante Unit ist die uFormChild.pas.
Einzige Voraussetzung ist die VirtualTreeView-Komponente von Mike Lischke. Sie wird für die Navigation benötigt.

Zweck dieser Klasse war es, ein neue Art von MDI-Fenstern einzuführen, mit denen auch Leute klar kommen (müssen :lol:) die bisher nur DOS-Programme bedient haben.

Bei dem Projekt, wo diese Klasse eingesetzt wird, handelt es sich um eine Software, die mehrere alte DOS-Programme in unserer Firma ersetzen soll.

Da diese Geschichte so gefordert wurde, ist eine Diskussion über das Aussehen an dieser Stelle überflüssig :-D

Sollten Fragen dazu sein, dann bitte per PM an die im Projekt hinterlegte email-Adresse

Gruß Jörg


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:18 Uhr.
Seite 2 von 2     12   

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