在注册窗口类时,需要注册一个消息的回调函数
WNDCLASSEX wcex;
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)WndProc;
...我现在想将这个函数指针指向我自定义的一个类方法中去 wcex.lpfnWndProc = (WNDPROC)ClassA.WndProc;这样做是不行的,因为在注册窗口时ClassA还没有产生,这个类里面的方法也还没有分配空间,所以会报错,如果将这个类里面的方法写成static时,虽然可以生成窗口,但在这个静态方法里面也不能调用属于这个类的其它方法。windows的消息处理函数怎样才能注册到我自定义的这个类下?
WNDCLASSEX wcex;
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)WndProc;
...我现在想将这个函数指针指向我自定义的一个类方法中去 wcex.lpfnWndProc = (WNDPROC)ClassA.WndProc;这样做是不行的,因为在注册窗口时ClassA还没有产生,这个类里面的方法也还没有分配空间,所以会报错,如果将这个类里面的方法写成static时,虽然可以生成窗口,但在这个静态方法里面也不能调用属于这个类的其它方法。windows的消息处理函数怎样才能注册到我自定义的这个类下?
不过可以让WndProc函数调用你的类成员函数
LRESULT CALLBACK WndProc(...)
{
if(pClassA) //pClassA is a global pointer of ClassA
return pClassA->WndProc(...);
}
你的这个函数是怎么样使用啊?
http://blog.csdn.net/ringphone/archive/2004/09/28/118883.aspx