MFC自定义窗口类

代码如下:

#include <afxwin.h>
class CMyWnd :public CWnd
{
     DECLARE_MESSAGE_MAP()
public:
    afx_msg void OnPaint();
public:
    BOOL PreCreateWindow(CREATESTRUCT& cs);
    virtual void PostNcDestroy();
};
 BEGIN_MESSAGE_MAP(CMyWnd, CWnd)
     ON_WM_PAINT()
END_MESSAGE_MAP()
void CMyWnd::OnPaint()
{
}
void CMyWnd::PostNcDestroy()
{
	delete this;
}

class CMyApp :public CWinApp
{
    virtual BOOL InitInstance();
};
BOOL CMyWnd::PreCreateWindow(CREATESTRUCT& cs)
{
    WNDCLASS wcex = { 0 };
    wcex.lpfnWndProc = ::DefWindowProc;
    //wcex.lpfnWndProc = ::WndProc;//自定义win32窗口函数,使用时要把Mfc消息机制注释掉
    wcex.hInstance = AfxGetInstanceHandle();
    wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
    wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    wcex.lpszClassName = TEXT("CMYWND");
    AfxRegisterClass(&wcex);
    cs.lpszClass = wcex.lpszClassName;

    //cs.lpszClass = AfxRegisterWndClass(0x000B, LoadCursor(nullptr, IDC_ARROW), (HBRUSH)(COLOR_WINDOW + 1));
    return TRUE;
}
BOOL CMyApp::InitInstance()
{
    CMyWnd *pMyWnd = new CMyWnd();
    pMyWnd->CreateEx(NULL, NULL, TEXT("我的应用"), WS_OVERLAPPEDWINDOW | WS_VISIBLE, 100, 100, 500, 300, NULL, 0, NULL);
    m_pMainWnd = pMyWnd;
    pMyWnd->ShowWindow(SW_SHOW);
    pMyWnd->UpdateData();
    return TRUE;
}
CMyApp theApp;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值