![]() |
SendMessage > HWND darf nicht in Variable stehen
Hallo zusammen,
wenn ich eine Message "direkt" an ein anderes Formular sende kommt diese wie gewollt an.
Delphi-Quellcode:
Ich würde jetzt gern das Handle des Empfängerfensters als Variable übergenen. Leider kommt die Message dann nicht mehr bei dem anderen Formular an ...
sendmessage(Form2.Handle,WM_MyMessage,0,0);
Delphi-Quellcode:
Hat jemand eine Idee ?private CurrentFormHandle:HWND; procedure SendMyMessage(FormHandle:HWND); begin sendmessage(FormHandle,WM_MyMessage,0,0); end; // Testaufruf CurrentFormHandle:=Form2.Handle; SendMyMessage(CurrentFormHandle); CurrentFormHandle:=Form3.Handle; SendMyMessage(CurrentFormHandle); CurrentFormHandle:=Form4.Handle; SendMyMessage(CurrentFormHandle); Danke, Jens |
Re: SendMessage > HWND darf nicht in Variable stehen
Fehler gefunden :wall:
Es geht, wenn ich die Formulare erst anzeige und dann das CurrentFormHandle speichere ...
Delphi-Quellcode:
Form2.show;
CurrentFormHandle:=Form2.Handle; SendMyMessage(CurrentFormHandle); Form3.show; CurrentFormHandle:=Form3.Handle; SendMyMessage(CurrentFormHandle); Form4.show; CurrentFormHandle:=Form4.Handle; SendMyMessage(CurrentFormHandle); |
Re: SendMessage > HWND darf nicht in Variable stehen
Moin Jens,
eigentlich müsste es genügen, wenn Du statt
Delphi-Quellcode:
Form2.Show;
Delphi-Quellcode:
aufrufst, bevor Du es ausliest.
Form2.HandleNeeded;
|
Re: SendMessage > HWND darf nicht in Variable stehen
"HandleNeeded" funktioniert super :thumb:
Ich rufe es gleich im OnCreate der Sub-Form auf. Die Message veranlasst bei mir eine Größenanpassung der anzuzeigenden SubForm. Da ich die Grüße nun vor dem Show festlegen kann, spare ich mir ein unnötiges Neuzeichnen der Form. Danke und schöne Grüße, Jens :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:51 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