SetWindowLong与GetWindowLong函数的若干问题
1)在get窗口的userdata之前,是不是一定要set?
2)我在P先生(Petzold)的书上看到,他给窗口分配了sizeof(LONG)的额外空间,但调用GetWindowLong的时候,写的是GetWindowLong(hwnd, 0)而不是GetWindowLong(hwnd, GWL_USERDATA),这应该怎么理解? GetWindowLong SetWindowLong
[解决办法]
Set/GetWindowLong可以根据某个flag对某个窗口做一些动作,最常见的是设置和获取某个值,另外就是替换窗口的过程
[解决办法]
1. 当然.
2. 当 hWnd 是一个对话框的时候, 第二个参数可以使用:
DWL_DLGPROC 得到对话框回调函数的地址,或者句柄。得到后必须使用CallWindowProc函数来调用
DWL_MSGRESULT 得到对话框回调函数中消息处理过程的返回值
DWL_USER 得到额外的应用程序私有信息,如一些句柄和指针等
其中, DWL_MSGRESULT 的值定义成 0 的.
[解决办法]