AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dynamische Fenster über Funktion ansteuern

Ein Thema von cback · begonnen am 3. Okt 2005 · letzter Beitrag vom 3. Okt 2005
Antwort Antwort
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#1

Re: Dynamische Fenster über Funktion ansteuern

  Alt 3. Okt 2005, 13:47
Fein.

Dann hst Du ja die wesentlichen Dinge schon zusammen. Dein Hauptfenster könnte dann für Deine eigene Fensterverwaltung der Dreh- und Angelpunkt werden. Dort würde ich mir eine Liste (Delphi-Referenz durchsuchenTList) deklarieren (ich find's mit Listen einfacher als mit Arrays) und dann eine Referenz auf jedes neu erzeugte Fenster in dieser Liste ablegen:

Delphi-Quellcode:
procedure ...;
  var EditorMOD: TEditor_MOD;
begin
  EditorMOD := TEditor_MOD.Create(self);
  EditorMOD.Show;

  meineFensterListe.add( EditorMOD );
end;
Damit kannst Du Dir einen Überblick über alle derzeit offenen Fenster verschaffen. Jedoch musst Du ein Editor-Fenster wieder aus der Liste rauswerfen, wenn Du es schließt.

Willst Du also eine Aktion mit allen Fenstern machen, läufst Du einfach über die Liste und castest die Listenelemente auf den Typ "TEditor_MOD".

Wenn Du feststellen willst, was das aktuelle Fenster ist, so könntest Du Das Ereignis "onActivate" Deiner Editor-Fenster nutzen und in dem Ereignis-Handler Deinem Hauptfenster mitteilen, wer jetzt gerade aktuell ist:

Hauptfenster.setAktuellesEditFenster( self ); // Pseudocode... Diese Routine "setAktuellesEditFenster()" merkt sich dann in einer Variablen die Referenz, die sie eben als Parameter erhalten hat.

Und Deiner eingangs angesprochenen Routine "AddAction" könntest Du dann als Parameter eine Referenz auf das Fenster mitgeben, mit dem sie arbeiten soll.



Aber viele Wege führen nach Rom ... mit mehr Kenntnis über die Architektur Deiner Anwendung könnte man vielleicht auch andere sinnvolle Vorschläge bringen. Unter Umständen macht es Sinn, eine Methode wie "addAction()" gleich als Methode Deines Editor-Fensters zu deklarieren. Dann könntest Du mit einem Aufruf wie AktuellesEditFenster.addAction(''); irgendwas veranstalten.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:04 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