wParam und lParam

  • Themenstarter Themenstarter darko m.
  • Beginndatum Beginndatum
D

darko m.

Hallo...

Ich komme bei diesen beiden Ausdrücken nicht ganz nach.

- wParam
- lParam

Ich finde im Internet keinen guten Beschrieb.
Für was werden diese verwendet?
 
moin


Die benutzt man bei der Windowsprogrammierung.
In ihnen sind Nachrichten und Werte enthallten.

Willst du es noch genauer?


mfg
umbrasaxum
 
Ich glaube du hasst mir Gestern das Tutorial mit dem Linien zeichnen gegeben. ;-)
Ja ich möchte es gerne genauer.

Und wenn du schon dabei bist... hier kommt das lParam wieder vor (Tutorial von Gestern).
Ich komme einfach nicht nach :( .

SetPixel(hDC, LOWORD(lParam), HIWORD(lParam), RGB(0, 0, 255));
 
Hallo,

darko-micic hat gesagt.:
SetPixel(hDC, LOWORD(lParam), HIWORD(lParam), RGB(0, 0, 255));


soweit ich das mitbekommen habe ging es um Mauseingaben:

fwKeys = wParam; // key flags
xPos = LOWORD(lParam); // horizontal position of cursor
yPos = HIWORD(lParam); // vertical position of cursor

in lParam und wParam werden Daten der Nachrichten gespeichert.
In diesem Fall sind es die X und Y Koordinaten, welche in die Funktion SetPixel eingesetzt werden, sowie die gedrückten Maustasten.
 
WPARAM ist ein UINT mit 32 bit
LPARAM ist ein LONG mit 32 bit

Die beiden Typen werden benutzt um Parameter an Funktionen weiterzugeben.
Wobei sie ganz unterschiedliche Bedeutungen haben können.

Mit LOWORD und HIWORD gibt es für die Verwendung dieser Parameter, wie es schon genannt wurde, sehr praktische Makros, die die 32 bit Werte in 2 mal 16 bit "zerlegen".
Somit kann man also z.B. ein Koordinatenpaar in einem einzigen Wert übergeben, nämlich die x Position in den oberen 16 bit und die y Position in den unteren 16 bit.

Für eine ausführliche Beschreibung siehe "Charles Petzold - Windows Programmierung" (Amazon - 29,99€)
 
Zurück