Auf die Schnelle auf spezielle Windows-Messages an mein Formular reagieren zu können geht fantastisch einfach:
Delphi-Quellcode:
unit Unit10;
interface
uses
System.Classes,
Winapi.Windows,
Winapi.Messages,
Vcl.Controls,
Vcl.Forms;
type
TForm10 =
class(TForm)
protected
procedure WmSize(
var Message: TWMSize);
message WM_SIZE;
end;
var
Form10: TForm10;
implementation
{$R *.dfm}
procedure TForm10.WmSize(
var Message: TWMSize);
begin
if Message.SizeType = SIZE_MAXIMIZED
then
self.Color := Random($00FFFFFF);
inherited;
end;
end.
Möchte man aber auf ein halbes oder ganzes Dutzend verschiedene Messages reagieren, bläht das die Klassendefinition des Formulars ziemlich auf. Wie könnte ich das ganze an eine separate Klasse deligieren? Als erstes dachte ich, mich einfach in
TForm.WndProc(..)
einklinken zu können, aber ich stehe auf dem Schlauch, wie ich die dort ankommenden
TMessage
-Records nun bsp. in einen
TWMMoving
-Record umgecastet kriege.
Ich finde die Stelle nicht, wo Delphi das beispielsweise selbst macht. Kann mich jemand hinführen?