2012年10月20日星期六

mini_mfc.cpp


/*
mfc就从这个小程序开始吧!
下面摘自:AllVCLanguageSamples\C++\MFC\general\helloapp工程。
mfc目录下还有更多有用的东西呢!需要去学习分析原理。
把这个工程理解透了,也就大概知道了mfc,分析那些类的关系和实现吧!

如果是新建的空工程要有如下设置:
debug模式的设置:工程属性->配置属性->c/c++->code generation->runtime library->/MTd
release模式的设置:工程属性->配置属性->c/c++->code generation->runtime library->/MT

如果是新建的空工程无论是debug模式还是release模式都要加上:
#pragma comment(linker, "/subsystem:windows")

备注:use of mfc选项可以不设置。
*/


#include <afxwin.h>

class CHelloWindow : public CFrameWnd
{
public:
    CHelloWindow() //构造函数。
    {
        Create(NULL, _T("made by correy!"), WS_OVERLAPPEDWINDOW, rectDefault);
    }
};

class CHelloApp : public CWinApp
{
public:
    virtual BOOL InitInstance()
    {
        m_pMainWnd = new CHelloWindow();
        m_pMainWnd->ShowWindow(m_nCmdShow);
        m_pMainWnd->UpdateWindow();
        return TRUE;
    }
};

CHelloApp HelloApp; //程序从这里开始。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////

//或者下面的也可以。

/*
#include <afxwin.h>

extern "C" void _setenvp() { }
extern "C" void _setargv() { }

class CHelloWindow : public CWnd
{
public:
    CHelloWindow()
    {
        CreateEx(WS_EX_CLIENTEDGE, AfxRegisterWndClass(0, ::LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_WINDOW+1)),
            _T("Hello World!"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, 0);
    }
};

class CHelloApp : public CWinApp
{
public:
    virtual BOOL InitInstance()
    {
        m_pMainWnd = new CHelloWindow();
        m_pMainWnd->ShowWindow(m_nCmdShow);
        m_pMainWnd->UpdateWindow();
        return TRUE;
    }
};

CHelloApp HelloApp;
*/

没有评论:

发表评论