请解释CallWindowProc的各参数的填写方法及用途(内空)
问题点数:50、回复次数:3Top
1 楼Un1()回复于 2000-07-06 10:59:00 得分 20
oldproc, //原来的winproc
hwnd, //window 的 handle 和参数,直接传入你在调callwindowproc时拥有的 hwnd, umsg, wparam, lparam 就行。
umsg,
wparam,
lparam Top
2 楼OldBoy(a)回复于 2000-07-06 17:46:00 得分 0
这个原来的WINPROC填什么?Top
3 楼guojin(guojin)回复于 2000-07-07 14:47:00 得分 30
callwindowproc 和subclass有关。当你用SetWindowLong()时,将原来的窗口过程替换为新的窗口过程,同时SetWindowLong()(和你设的参数有关)将返回原来的窗口过程oldwindowproc。
现在,所有送给原来窗口过程oldwindowproc的消息将全部送到新的窗口过程newwindowproc去处理。你可以选择你要处理的消息。剩下的消息怎么办?此时,就有
CallWindowProc()大显身手了,CallWindowProc()负责将剩下的消息送到Oldwidowproc去处理。这也是为什么要在CallWindowProc()中将oldwindowproc作为参数了。你也不一定非要用oldwindowproc,完全可以用另外一个windowproc作为参数,那么,剩下的消息送到你设定的窗口函数中去处理。
Top




