![]() |
MDI im OnCreate / OnShow
Hi,
Dieses Problem wurde schon ein/zweimal aufgeworfen, aber nie gelöst...und jetzt hab ich es selber :? immer wenn ich ein MDI-Child im OnCreate erstellen will, kommt "Formular kann nicht erstellt werden. Zur Zeit sind keine MDI-Formulare aktiv". Wo liegt da der Fehler? (Also grundsätzlich funktioniert das, es geht nur schief wenns im OnCreate ist...) |
Re: MDI im OnCreate / OnShow
Zitat:
Lösungsmöglichkeit: Löse im OnCreate-Event ein eigenes WM_MYEVENT aus und in der Behanldungsroutine von WM_MYEVENT erzeugst Du dann das MDI-Childfenster. |
Re: MDI im OnCreate / OnShow
Zitat:
|
Re: MDI im OnCreate / OnShow
Siehe Beitag #5 von diesem
![]() und im OnCreate-Event:
Delphi-Quellcode:
PostMessage(self.Handle, CHANGE_LABEL_CAPTION, 0, 0);
|
Re: MDI im OnCreate / OnShow
Danke!!!
also es geht jetzt, aber ich hätte da noch eine Frage :)
Delphi-Quellcode:
So funzt es jetzt...aber mal angenommen ich würde für WM_LOAD_DATA nicht 111 sondern 12 nehmen...würde ich damit nicht im Zweifel auch andere Nachrichten killen die an mein Programm gerichtet sind?
const
WM_LOAD_DATA = 111; procedure LoadData(var Msg: TMessage); message WM_LOAD_DATA; procedure TForm1.FormShow(Sender: TObject); begin SendMessage(Form1.Handle, WM_LOAD_DATA, 0,0); end; was passiert wenn ich aus Versehen eine Nummer nehme, welche zB eigentlich das Verschieben das Fensters oder die Mausbewegung regelt? |
Re: MDI im OnCreate / OnShow
Zitat:
Delphi-Quellcode:
WM_LOAD_DATA = WM_USER + 111;
|
Re: MDI im OnCreate / OnShow
Ist WM_USER der höchste oder wie läuft das?
wer sagt mir das WM_USER + 27 nicht auch wieder irgendwas killt? |
Re: MDI im OnCreate / OnShow
Zitat:
|
Re: MDI im OnCreate / OnShow
Zitat aus der MSDN (bzw. Delphi-OH, über Index nach WM_APP suchen):
Zitat:
Also: WM_USER bis WM_APP - 1 (WM_USER + 31743): für deine eigenen Fensterklassen WM_APP bis CM_BASE - 1 (WM_APP + 4095): für anwendungsweite Nachrichten Außerdem gibt es einen Unterschied zwischen SendMessage und PostMessage. Wenn das Erstellen des Fensters mit SendMessage klappt, dann könntest du es auch an der betreffenden Stelle direkt erzeugen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 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