Du erhältst in msg einen TWMMouseWheel-Record und castest diesen zu einem TWMVScroll-Record.
Die von dir erzeugte Nachricht WM_VSCROLL erhält dadurch unsinnige Parameter.
Delphi-Quellcode:
TWMMouseWheel = packed record
Msg: Cardinal;
Keys: SmallInt;
WheelDelta: SmallInt;
case Integer of
0: (XPos: Smallint;
YPos: Smallint;);
1: (Pos: TSmallPoint;
Result: Longint;);
end;
TWMScroll = packed record
Msg: Cardinal;
ScrollCode: Smallint;
Pos: Smallint;
ScrollBar: HWND;
Result: Longint;
end;
TWMVScroll = TWMScroll;