MakeLParam( Pt.X, Pt.Y )
sollte auch reibungslos funktionieren falls es nicht das gleiche ist.
Fast.
Hier natürlich am Ziel nicht nach TPoint casten, sondern den lParam "richtig" konvertieren.
Warum ist Windows hier nicht konsequent?
Delphi-Quellcode:
lParam = MakeLParam(MyX, MyY)
lParam = PointToLParam(MyPoint)
lParam = SmallPointToPoint(MySmallPoint)
Aber die Umkehrfunktionen fehlen.
So wie es auch hier gemacht wurde.
Delphi-Quellcode:
function RGB(r, g, b: Byte): COLORREF;
function GetRValue(
rgb: DWORD): Byte;
function GetGValue(
rgb: DWORD): Byte;
function GetBValue(
rgb: DWORD): Byte;
type
LOWORD = Word;
LOBYTE = Byte;
function MakeWord(A, B: Byte): Word;
function MakeLong(A, B: Word): Longint;
function HiWord(L: DWORD): Word;
function HiByte(W: Word): Byte;
MakeLong <> HiWord und LoWord
MakeWord <> HiByte und LoByte