为什么不行?关于WindowProc过程。
bokei 2000-05-26 02:25:00 我在头文件里加了一个WNDPROC变量
public:
static WNDPROC m_wndProc;
在.cpp中想把一个窗口的Windproc过程指定为WindowProcNew:
m_wndProc=(WNDPROC)SetWindowLong(pFD->m_hWnd, GWL_WNDPROC,
(long)WindowProcNew);
过程是这样的,
LRESULT CALLBACK CMyFileDialog::WindowProcNew(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
可是在编译时有这样的提示:
E:\VC程序\DirDlgDemo\MyFileDialog.cpp(64) : error C2440: 'type cast' : cannot convert from 'long (__stdcall CMyFileDialog::*)(struct HWND__ *,unsigned int,unsigned int,long)' to 'long'
Conversion is a valid standard conversion, which can be performed implicitly or by use of static_cast, C-style cast or function-style cast
请问各位大侠是什么回事呢?为什么说不能转换?两个都是long的。