在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 =
·
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创建窗口。
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创建窗口。
更多推荐
所有评论(0)