# wParam und lParam



## darko m. (11. April 2005)

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?


----------



## Tobias K. (11. April 2005)

moin


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

Willst du es noch genauer?


mfg
umbrasaxum


----------



## darko m. (11. April 2005)

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));


----------



## Flegmon (11. April 2005)

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.


----------



## Konsumierer (12. April 2005)

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€)


----------

