AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi von einem MDI-Child aus ein anderes MDI-Child aufrufen
Thema durchsuchen
Ansicht
Themen-Optionen

von einem MDI-Child aus ein anderes MDI-Child aufrufen

Ein Thema von Colaka · begonnen am 24. Aug 2008 · letzter Beitrag vom 24. Aug 2008
Antwort Antwort
Colaka

Registriert seit: 13. Sep 2006
Ort: Kaufbeuren
6 Beiträge
 
#1

von einem MDI-Child aus ein anderes MDI-Child aufrufen

  Alt 24. Aug 2008, 07:04
Hallo,

ich habe eine Anwendung mit mehreren MDI-Childs, die ich auch alle vom Hauptformular aus aufrufen kann. Weil eine sinnvolle Bearbeitung des Programms aber eine ganz bestimmte Reihenfolge der MDI-Childs erfordert, möchte ich, daß man von einem bestimmten MDI-Child aus immer nur ein ganz bestimmtes anderes MDI-Child aufrufen kann.

Kann mir hier vielleicht jemand auf die Sprünge helfen?

Danke Ebi
  Mit Zitat antworten Zitat
DelphiKlaus

Registriert seit: 18. Okt 2006
100 Beiträge
 
Delphi 6 Professional
 
#2

Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen

  Alt 24. Aug 2008, 10:18
Hallo,

ich verstehe Deine Frage nicht ganz. Was meinst Du mit aufrufen? Ich verstehe unter "aufrufen" das Fenster in den Vordergrund holen. aber ich vermute, Du meinst erzeugen. Und ich seh kein Problem, aus einem MDI-Child ein weiteres zu erzeugen. Letztlich wird doch nur der Konstruktor des zu erzeugenden MDI-Childs aufgerufen; und dem dürfte es egal sein, von wo er aufgerufen wird.

MfG

Klaus
  Mit Zitat antworten Zitat
Colaka

Registriert seit: 13. Sep 2006
Ort: Kaufbeuren
6 Beiträge
 
#3

Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen

  Alt 24. Aug 2008, 10:47
Hallo Klaus,

vielen Dank für Deine Antwort. Das Aufrufen des neuen Fensters funktioniert jetzt prima.

Gescheitert bin ich vor allem deshalb, weil ich zuerst versucht habe, das alte Fenster zu schließen, bevor ich das neue aufrufe. Und das Problem habe ich jetz immer noch. Das alte Fenster bleibt im Hintergrund geöffnet, auch wenn das neue im Vordergrund erscheint. Kannst Du mir vielleicht auch noch einen Tipp geben, wie ich das alte Fenster schließen kann und gleichzeitig ein neues öffnen?

Danke Ebi
  Mit Zitat antworten Zitat
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
295 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen

  Alt 24. Aug 2008, 10:59
Moin auch

Einfach mit PostMessage WM_CLOSE an das zu schließende Fenster schicken. Dann schließt es sich.

Stefan
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
Colaka

Registriert seit: 13. Sep 2006
Ort: Kaufbeuren
6 Beiträge
 
#5

Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen

  Alt 24. Aug 2008, 11:45
Hallo,

leider bekomme ich das nicht hin. Ich habe es so probiert:

procedure TFUebersicht.Button1Click(Sender: TObject);
begin
PostMessage(FUebersicht.Handle, WM_CLOSE, 0, 0);
FZugang := TFZugang.Create(self);
end;

Damit schließt sich zwar das Fenster "FUebersicht", aber "FZugang" erscheint nicht mehr. Wenn ich den PostMessage-Befehl weglasse, dann erscheint das neue Fenster.

Danke Ebi
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.890 Beiträge
 
Delphi 12 Athens
 
#6

Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen

  Alt 24. Aug 2008, 11:54
Zitat von Colaka:
procedure TFUebersicht.Button1Click(Sender: TObject);
begin
PostMessage(FUebersicht.Handle, WM_CLOSE, 0, 0); // ==> hier sägst Du den Ast ab, auf dem Du sitzt !!!
FZugang := TFZugang.Create(self);
end;
Also, erst das neue Fenster generieren, dann das alte schließen
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Colaka

Registriert seit: 13. Sep 2006
Ort: Kaufbeuren
6 Beiträge
 
#7

Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen

  Alt 24. Aug 2008, 12:09
Hallo,

ich habe es auch schon umgekehrt probiert, also:

procedure TFUebersicht.Button1Click(Sender: TObject);
begin
FZugang := TFZugang.Create(self);
PostMessage(FUebersicht.Handle, WM_CLOSE, 0, 0);
end;

Das Ergebnis ist das gleiche. Selbst wenn ich den PostMessage-Befehl in die FormCreate-Prozedur von "FZugang" verlege, funktioniert es nicht.

Danke Ebi
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.890 Beiträge
 
Delphi 12 Athens
 
#8

Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen

  Alt 24. Aug 2008, 12:15
Zitat von Colaka:
Das Ergebnis ist das gleiche. Selbst wenn ich den PostMessage-Befehl in die FormCreate-Prozedur von "FZugang" verlege, funktioniert es nicht.
Versuchs mal im Formshow von der erzeugten Form. Im Create sägst Du noch immer an dem Ast, auf dem Su sitzt.

Hope it helps

onlinekater
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Colaka

Registriert seit: 13. Sep 2006
Ort: Kaufbeuren
6 Beiträge
 
#9

Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen

  Alt 24. Aug 2008, 12:24
Hallo,

ich habe jetzt der Reihe nach OnShow, OnActivate und OnPaint versucht, doch das neue Fenster erscheint nicht. Da muß doch irgendwas an meinem Aufruf "PostMessage(FUebersicht.Handle, WM_CLOSE, 0, 0);" faul sein.

Danke Ebi
  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 05:13 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