作者:手机用户2502918695 | 来源:互联网 | 2023-10-12 09:21
如题,一个现成的程序,如何封装为一个类,引用到MFC中
9 个解决方案
不太明白,就算是win32的WndProc(弄成静态成员函数)也可以封装成类用在mfc中
不明白楼主想做什么?是想在一个MFC程序中把一个现成的程序调用起来么?
有一个现成的win32程序,我打算将其封装成一个类,到时在一个MFC程序中可以直接调用。
只能先学习C++,掌握封装,类的概念,然后就可以动手了
只能先学习C++.mfc,掌握封装,类的概念,然后就可以动手了
class Window
{
protected:
HWND m_hWnd;
public:
void Create(){
WNDCLASS cls = { 0 };
cls.lpfnWndProc = Window::_WndProc;
RegisterClass(); //可以去百度这个函数
m_hWnd = CreateWindow();
SetWindowLong(m_hWnd, GWL_USERDATA, (LONG)this); //把this指针存起来
}
private:
static LRESULT _WndProc(HWND hWnd, UNIT uMsg, WPARAM wParam, LPARAM lParam){
Window* ptr = (Window*) GetWindowLong(hWnd, GWL_USERDATA);
ptr->HandleMessage();
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
};
大概就是这个逻辑,具体的可以百度参考更加详细的例子