Skip to main content
gamedev.net
🔒 Locked

windows programming

Started by Ahmet Apr 28, 2006 at 7:44 AM 5 replies 850+ views
Original Post
Ahmet
Ahmet
I am a newbie in game programing and ask you a quesstion about creating a window. Windows use WndProc( HWND hWnd , UINT msg ,WPARAM wParam, LPARAM lParam) function to handle windows' messages which has below structure typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG; msg structure already has the window handle , wParam and lParam . Why we have to resend the hWnd , wParam and lParam parameters?WndProc can't be satisfied with a single msg parameter?Same thing is valid for DefWindowProc() . thanks for all help :)
Evil Steve
Evil Steve
The WndProc doesn't actually get the MSG variable, it just gets a few members of it. I'd like to know why WnyProc doesn't just get passed the MSG that's getting handled in the message loop, actually...

EDIT: Oh, I think that's what you're saying... never mind then [smile]
cenix
cenix
Quote:
Original post by Ahmet
Why we have to resend the hWnd , wParam and lParam parameters?WndProc can't be satisfied with a single msg parameter?Same thing is valid for DefWindowProc() .
thanks for all help :)



You don't.
You don't send the msg struct to wndproc.
The 'UINT msg' parameter in WndProc is the message, e.g. WM_PAINT.
Look on MSDN if you want more information.
Ahmet
Ahmet
ofcourse cenix but if we send the WM_PAINT we have already sent lParam..
Evil Steve
Evil Steve
WM_PAINT is sent as a UINT, which is just an integer. The message also needs the lParam to be passed to the window proc with it.
Emmanuel Deloget
Emmanuel Deloget
Rewrite to make things more obvious:
WndProc( HWND hwnd, UINT message ,WPARAM wParam, LPARAM lParam)

Compare to
typedef struct tagMSG {  HWND hwnd;  UINT message;  WPARAM wParam;  LPARAM lParam;  DWORD time;  POINT pt;} MSG;

Your high level code gets the MSG structure from GetMessage or PeekMessage, and DispatchMessage feeds WndProc with the hwnd, the message and the params.

HTH,
Ahmet
Ahmet
Thanks all , especially Emmanuel Deloget , you are the best :)

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.