![]() |
von einem MDI-Child aus ein anderes MDI-Child aufrufen
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 |
Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen
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 |
Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen
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 |
Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen
Moin auch :hi:
Einfach mit PostMessage WM_CLOSE an das zu schließende Fenster schicken. Dann schließt es sich. Stefan |
Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen
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 |
Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen
Zitat:
|
Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen
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 |
Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen
Zitat:
Hope it helps onlinekater |
Re: von einem MDI-Child aus ein anderes MDI-Child aufrufen
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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