Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   MDI Projekt (https://www.delphipraxis.net/37802-mdi-projekt.html)

ACU 10. Jan 2005 19:15


MDI Projekt
 
Hallo!
Ich habe folgendes Problem, ich möchte in meinem Hauptfenster viele kleine Fenster erzeugen (Form1,Form2...).

Wenn ich ein fertiges MDI Projekt nehme, bekomme ich es nicht hin meine eigenen Formulare anzuzeigen.

Die andere Möglichkeit:
Delphi-Quellcode:
var
  c: TControl;
begin
  c:=TForm2.CreateParentedCOntrol(Panel2.Handle);
  InsertControl(c);
mit diesem Code bekomme ich es hin die Fenster zu erzeugen. Das Problem ist nur, dass beim beenden immer ein Fehler kommt (wahrscheinlich, weil ich die Fenster nicht terminiere).

Was empfehlt ihr mir?

MfG ACU

PS: Sorry für meine dummen Fragen, ich habe sowas noch nie gemacht.

gothic_mike 10. Jan 2005 23:47

Re: MDI Projekt
 
Zitat:

Zitat von ACU
Hallo!
Ich habe folgendes Problem, ich möchte in meinem Hauptfenster viele kleine Fenster erzeugen (Form1,Form2...).

versuch mal das hier:

Delphi-Quellcode:
TForm1.Create(HauptForm);

bundy 11. Jan 2005 10:00

Re: MDI Projekt
 
Hallo

Ich mach das so:

So erstelle ich es:
Delphi-Quellcode:
MidiChild_form:=TMidiChild_form.Create(self);
MidiChild_form.Show;
im OnClose Event vom MidiChild_form musst du nach eintragen wenn du willst das das Form auch zu geht.

Delphi-Quellcode:
action:=caFree
Unter Project -----> Options
kannst du das MidiChild_form noch aus der Autocreate Forms List rausnehmen. Dann geht das Form auch nicht automatisch auf beim starten des Projektes

ACU 11. Jan 2005 10:28

Re: MDI Projekt
 
Danke für die Antworten!
Leider funktioniert es noch nicht so ganz, wie ich es mir vorstelle.
Also wie gesagt, dass öffnen der Fenster funktioniert.
Wenn ich fenster erzeuge und diese anschließend per Hand wieder schließe, kann ich das Hauptformular problemlos schließen.
Laße ich jedoch eins der Unterformulare offen und will das Hauptforumlar schließen, dann kommt eine böse Fehlermeldung:
Zitat:

Zugriffverletzung
MfG ACU

Stevie 11. Jan 2005 10:47

Re: MDI Projekt
 
Hi,

deine Art, eine MDI-Anwendung zu erstellen ist komplett verkehrt! Die Forms verfügen über die Eigenschaft FormStyle. Dort stellst du bei deinem Hauptformular fsMDIForm und bei den Childs fsMDIChild ein. Du musst dann die MDIChild-Fenster mit Create(HauptFenster) erstellen, denn dann werden sie vor dem Schließen des Hauptfensters automatisch auch geschlossen und terminiert!

MfG
Stevie

ACU 11. Jan 2005 11:00

Re: MDI Projekt
 
Super!
Jetzt funktioniert es so, wie ich es mir vorgestellt habe.
Danke für die Hilfe!

MfG ACU


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:14 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