0L是return的返回值。注意:((fn)((hwnd), (UINT)(wParam), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam)), 0L)
这里,fn的调用为:(fn)((hwnd), (UINT)(wParam), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam))
没有5个参数!!!!用在API编程中,一般为:LRESULT WINAPI MyWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
HANDLE_MSG(hwnd, WM_SIZE, Cls_OnSize);
......
}
return DefWndProc(......);
}Cls_OnSize(......)
{
......
}
这里,fn的调用为:(fn)((hwnd), (UINT)(wParam), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam))
没有5个参数!!!!用在API编程中,一般为:LRESULT WINAPI MyWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
HANDLE_MSG(hwnd, WM_SIZE, Cls_OnSize);
......
}
return DefWndProc(......);
}Cls_OnSize(......)
{
......
}
那么根据这样定义,return后就有一个void的函数和0L了,是不是他只会返回0,而不管那个void函数(当然还是执行的)
我给分喽,在那里阿,我在找