SetWindowLong的用法一问。
dr80 2001-07-15 05:34:05
我想改变Edit1的窗口过程。
LRESULT TForm1::MyVcWinProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);//新的窗口过程函数的声明。
.........
.........
.........
OldProc=GetWindowLong(Edit1->Handle,GWL_WNDPROC);
SetWindowLong(Edit1->Handle,GWL_WNDPROC,MyVcWinProc);//这里编译通不过
//错误如下:应该是最后一个参数那里错了
[C++ Error] Unit1.cpp(106): E2034 Cannot convert 'long (* (_closure )(void *,unsigned int,unsigned int,long))(void *,unsigned int,unsigned int,long)' to 'long'
但是在VC和VB里这样用都是对的阿。MyVcWinProc这个函数名本来就是一个地址了,
为什么会错呢?
谢谢。