Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Aktives MDIChild nach Schliessen eines MDIChild (https://www.delphipraxis.net/156051-aktives-mdichild-nach-schliessen-eines-mdichild.html)

handson 18. Nov 2010 09:48

Aktives MDIChild nach Schliessen eines MDIChild
 
Hallo!

Ich habe eine MDI-Anwendung. Dort sind beispielsweise 3 MDIChilds offen. Schliesse ich eins, wie bekomme ich heraus welches das nächste aktive MDIChild ist?

Habe schon versucht eine Message vom MDIChild zur Hauptanwendung zu senden beim Schliessen. Das geht aber nicht, da dass zu schliessende MDIChild noch aktiv ist.
In der Hauptform wird OnPain und OnActive nicht aufgerufen.

Hat jemand eine Idee?

Vielen Dank schon mal im voraus!

Stephan

Bummi 18. Nov 2010 10:20

AW: Aktives MDIChild nach Schliessen eines MDIChild
 
ActiveMDIChild??

handson 18. Nov 2010 10:42

AW: Aktives MDIChild nach Schliessen eines MDIChild
 
Nein, sitzt es nicht.

Wie ich schon beschrieben habe, bekomme ich immer noch das zu schliessende Fenster zurück.
Was ich brauche, ist eine Stelle, die ausgeführt wird, wenn das Fenster weg ist und dann das richtige aktive Fenster zurückgibt.

wolfgang_SV 18. Nov 2010 12:04

AW: Aktives MDIChild nach Schliessen eines MDIChild
 
kenn das problem, hab vor jahren mal ne mdi-anwendung mit
turbo-pascal geschrieben..

du mußt die message wm_mdinext verschicken..

jetzt weiß ich nicht mehr genau ob an das zu schließende mdichild
oder an das mdi-hauptfentser.

mußte mal probieren.

Bummi 18. Nov 2010 16:33

AW: Aktives MDIChild nach Schliessen eines MDIChild
 
daraus etwas basteln?
Delphi-Quellcode:
//MDIForm
procedure TForm1.FormClick(Sender: TObject);
begin
    With TForm2.Create(self) do
      begin
        name := 'Nr1' ;
      end;

    With TForm2.Create(self) do
      begin
        Name := 'Nr2'
      end;

end;

// Child
procedure TForm2.FormActivate(Sender: TObject);
begin
  Form1.Caption := Name;
end;

wolfgang_SV 18. Nov 2010 16:43

AW: Aktives MDIChild nach Schliessen eines MDIChild
 
Da weiß ich jetzt nicht, was das in diesem Zusammenhang bedeuten soll.

Es geht um MDI-Formen.

Ich weiß nicht, ob du weißt was ein Multi-Document-Interface ist...

shmia 18. Nov 2010 16:47

AW: Aktives MDIChild nach Schliessen eines MDIChild
 
Wozu musst du das eigentlich wissen?
Und WER muss das wissen?
Muss es das Hauptformular wissen oder alle restlichen MDI-Form?

Das globale Objekt Screen hat übrigens das Event OnActiveFormChange.

Bummi 18. Nov 2010 16:51

AW: Aktives MDIChild nach Schliessen eines MDIChild
 
@wolfgang_SV

Die meisten meine Anwendungen sind MDI-Anwendungen, aber ich sehe nicht wo das Problem des TE liegt.
Beim schließen eines MDI-Forms wird das nächste sofern vorhanden aktiv.
Das jeweils aktive kann ich über ActiveMDIChildanfragen. Da er anscheinen auf das schließen eines MDIChilds reagieren will und den Destruktor nicht vorgesehen hat, sehe ich einen Ansatz darin festzustellen wann ein anderes Child aktiviert wurde.

wolfgang_SV 18. Nov 2010 16:54

AW: Aktives MDIChild nach Schliessen eines MDIChild
 
Zitat:

Zitat von shmia (Beitrag 1062419)
Wozu musst du das eigentlich wissen?
Und WER muss das wissen?
Muss es das Hauptformular wissen oder alle restlichen MDI-Form?

Das globale Objekt Screen hat übrigens das Event OnActiveFormChange.

Ich glaub ihr wisst nicht was eine MDI-Form ist!!!!

shmia 18. Nov 2010 17:06

AW: Aktives MDIChild nach Schliessen eines MDIChild
 
Zitat:

Zitat von wolfgang_SV (Beitrag 1062423)
Ich glaub ihr wisst nicht was eine MDI-Form ist!!!!

Das Problem ist, dass du meine Fragen nicht beantwortest.
Es gibt normerweise keinen Grund das aktive MDI-Child nach dem Schliesen eines anderen MDI-Childs in Erfahrung zu bringen.
Wenn man wüsste wozu du das brauchst dann könnte man Dir auch einen sinnvollen Rat geben.


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

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