Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi MDI Anwendung erstellen (https://www.delphipraxis.net/12131-mdi-anwendung-erstellen.html)

Pseudemys Nelsoni 21. Nov 2003 09:59


MDI Anwendung erstellen
 
hoi,

wie erstelle ich eine mdi anwendung? ich habe mein mainform auf "fsMDIForm" gestellt, nur wie geht es jetzt weiter, wie sprech ich jedes einzelne fenster(kinder ^^) das ich erstelle an und wie erstell ich beliebig viele. Und noch eine Frage, wieso kann ich sowas machen wie:

Delphi-Quellcode:
var frm: TForm3;

wieso ist TForm3 ein typ?


hoffe das jemand antwortet ^^

woki 21. Nov 2003 12:01

Re: MDI Anwendung erstellen
 
Hi,

siehe OH

Zitat:

Die Eigenschaft MDIChildren ermöglicht über einen Index den Zugriff auf alle untergeordneten MDI-Formulare.

Delphi-Syntax:

property MDIChildren[I: Integer]: TForm;


Beschreibung

Mit MDIChildren können Sie auf die untergeordneten MDI-Formulare zugreifen.

I ist der Index des untergeordneten Formulars, auf das zugegriffen werden soll. Die Reihenfolge der MDI-Formulare ändert sich durch deren Aktivierung. Anfänglich werden die Formulare nach deren Erstellungsfolge aufgeführt. Neue Formulare werden dabei an das Ende des Arrays angefügt. Wenn jedoch ein untergeordnetes MDI-Formular aktiviert wird, wird es an den Beginn der Liste verlagert. Daher sollten Sie I nur zum Indizieren aller Formulare im Array verwenden, nicht aber um ein bestimmtes Formular zu referenzieren.

Der Wert von MDIChildren ist nur von Bedeutung, wenn das Formular ein MDI-Frame ist (d.h., seine Eigenschaft FormStyle ist fsMDIForm).


Delphi-Quellcode:
In diesem Beispiel werden alle untergeordneten MDI-Fenster von Form1 geschlossen.

var

  I: Integer;
begin
  with Form1 do
    for I := MDIChildCount-1 downto 0 do
      MDIChildren[I].Close;

end;
Versuch mal deine Probleme etwas zu strukturieren, und dann ein Thread für ein Problem.

Grüsse
Woki

Pseudemys Nelsoni 21. Nov 2003 14:03

Re: MDI Anwendung erstellen
 
hoi,

danke schonmal, aber wie öffne ich mdi fenster?

Sharky 21. Nov 2003 14:04

Re: MDI Anwendung erstellen
 
Einfach mit fenster.show.

Pseudemys Nelsoni 21. Nov 2003 14:48

Re: MDI Anwendung erstellen
 
ich muss sie ja zur laufzeit erstellen(oder nicht?), pro buttonclick soll ein neues fenster geöffnet werden, also beliebig viele, nur müssen alle fenster ja nen anderen namen bekommen, damit ich sie nachher ansprechen kann, oder?

woki 21. Nov 2003 15:48

Re: MDI Anwendung erstellen
 
Hi,

wenn du beliebig viele Formen erstellen willst, mußt du das dynamisch, also zur Laufzeit tun, das ist richtig, wenn du von außen zugreifen willst, kannst du das wie in dem Beispiel erwähnt tun, also über dir property MDI-Children.

Eine andere Möglichkeit wäre die Verwaltung über eine Liste, z.B. TObjectlist. Wenn man will kann man auch ein Array verwenden...

Denb Versuch das über "Namen" zu machen, wie man das von der Definition zur Designzeit gewohnt ist, halte ich für recht ungeschickt.

Bei den Demos müßte eigentlich auch eine MDIChild Demo dabei sein. Da am besten mal reinschauen, und in der Online Hilfe unter Formulare dynamisch erstellen.

Grüsse
Woki


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