AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Verständnisfrage zu MDI: Kindfenster im Menü eintragen
Thema durchsuchen
Ansicht
Themen-Optionen

Verständnisfrage zu MDI: Kindfenster im Menü eintragen

Ein Thema von Jazzman_Marburg · begonnen am 2. Mai 2010 · letzter Beitrag vom 3. Mai 2010
 
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#10

Re: Verständnisfrage zu MDI: Kindfenster im Menü eintragen

  Alt 2. Mai 2010, 20:24
Zitat von FrankJ28:
Hallo,
ist ganz einfach...
Ciao
Frank
Ja, im Prinzip schon...
Also, jetzt habe ich auch lagsam hinbekommen -- naja, fast.
(Ich hatte einfach nicht geblickt, dass mit TMenuItem ein Hauptmenü und kein Submenü gemeint ist, und das man das tatsächlich im Objekt-Inspektor der MDI-Eltern-From eintragen kann.)
Soweit also ok: Wenn ich ein MDI-Kind-Form erzeuge, wird dies brav in dem Menü verzeichnet.
ABER: Wenn ich ein weiteres MDI-Kind erzeuge und dort den Focus drauf sitzen habe, dann steht in dem eben erwähnten Menü nichts!
Wechsle ich den Focus auf das zuerst erzeugte Kind-Fenster, sehe ich dem Menü zwei Einträge (was ja auch korrekt ist).
D.h. nur das erste erzeugte MDI-Kind-Fenster führt brav Buch über die neu erzeugten Kind-Fenster -- alle übrigen habe nichts in diesem Menü.

Obwohl doch alle mit dem gleichen Coding erzeugt werden:

Delphi-Quellcode:
PROCEDURE TMDI_CHILD_frm.LoadClick(SENDer: TObject);
BEGIN
  MAIN_MDI_frm.LoadClick(Sender);
END;
Naja, jetzt wo ich es so schreibe: Das erste MDI-Kind-Fenster, wird tatsächlich anders erzuegt! Unmittlebar nach dem Start, ist die MDI-Eltern-Form leer, und der User geht nun auf das Menü File, und dann auf das Submenü 'Load':

Delphi-Quellcode:
PROCEDURE TMAIN_MDI_frm.LoadClick(Sender: TObject);
BEGIN
  WITH OpenDialog1 DO
  BEGIN
    Filter := 'Text Files (*.txt)|*.txt|Alle Files(*.*)|*.*';
    DefaultExt := 'txt';
    IF Execute THEN
    WITH TMDI_CHILD_frm.Create(Self) DO anything...
  END;
END;

Alle weiteren Kinder werden über das erste Coding erzeugt: Was nichts anderes macht, als das untere Coding auszurufen. Eigentlich identisch - aber der Unterschied zeigt sich wie oben beschrieben: Diese Fenster haben keine Einträg im Window-Menü -- was ja mit jedem neuen Fenster wachsen sollte (wie im allerersten Fenster).

Puh, das war lang und mir ist einiges klar geworden -- aber das erklärt mir noch immer nicht den obigen Fehler.

Vielleicht hat ja noch jemand Lust mal darüber nachzugrübeln -- obwohl es ist ja schon spät...

Vielen Dank & Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:04 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