在MFC中使用自定义窗口类

1、在CYourApp::InitInstance中注册窗口类
WNDCLASS wc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wc.hCursor = LoadCursor(IDC_ARROW);
wc.hIcon = NULL;
wc.hInstance = AfxGetInstanceHandle();
wc.lpfnWndProc = ::DefWindowProc; // 注意指定窗口过程
wc.lpszClassName = _T("MyWnd_class"); // 指定窗口类
wc.lpszMenuName = NULL;
wc.style = 0;
AfxRegisterClass(&wc);

2、编写.h文件类的定义
#ifndef MY_WND
#define MY_WND

class CMyWnd : public CWnd
{
public:
// 构造函数、析构函数等公有接口的声明
protected:
// 各消息处理函数的声明
DECLARE_MESSAGE_MAP()
};

#endif

3、编写.cpp文件类的实现
#include "stdafx.h"
#include "MyWnd.h"

// 构造函数、析构函数等函数的实现

BEGIN_MESSAGE_MAP(CMyWnd, CWnd)
// 各消息分流器
END_MESSAGE_MAP()

// 各消息分流器的实现

4、在主程序代码的适当地方调用Create或CreateEx创建窗口。

你可能感兴趣的:(mfc)