MFC_hello

//add comment at 20140226
//CWinApp 提供消息循环来检索消息,并将消息调度给应用程序的窗口


class CMyApp : public CWinApp
{
public:
    virtual BOOL InitInstance ();
};

//20140226
//框架窗口对象
class CMainWindow : public CFrameWnd
{
public:
    CMainWindow ();

protected:
    afx_msg void OnPaint ();
    DECLARE_MESSAGE_MAP ()
};


#include <afxwin.h>
#include "Hello.h"

//add comment at 20140226
//一个MFC程序有且仅有一个应用程序对象,此对象必须申明在全局范围内有效
//END
CMyApp myApp;

/
// CMyApp member functions

//add comment at 20140226
//InitInstance 在应用程序还是运行以后,窗口创建之前调用
//除非InitInstance创建一个窗口,否则应用程序是不会有窗口的
/*
CWinApp::InitInstace是一个虚函数,默认操作仅包含一条语句
          return True
InitInstance 是为应用程序提供一个自身初始化的机会。
由InitInstance返回的值决定了框架接下来要执行的内容
如果返回FALSE,将关闭应用程序
初始化正常返回TRUE, 程序继续运行
InitInstace是用来执行程序每次开始时都要进行初始化工作的最好的地方

*/
//END

BOOL CMyApp::InitInstance ()
{
    m_pMainWnd = new CMainWindow;
    m_pMainWnd->ShowWindow (m_nCmdShow);    //m_nCmdShow 一般为SW_SHOWNORMAL
    m_pMainWnd->UpdateWindow ();            //除非使用WS_VISIBLE属性,否则窗口不可见
    return TRUE;
}

/
// CMainWindow message map and member functions

/*
消息映射是一个将消息和成员函数相互关联的表
1.通过将DECLARE_MESSAGE_MAP语句添加到类申明中,申明消息映射
2.通过放置标示消息的宏来执行消息映射,相应的类将在对BEGIN_MESSAGE_MAP和END_MESSAGE_MAP的调用之间处理消息
3.添加成员函数来处理消息
*/


BEGIN_MESSAGE_MAP (CMainWindow, CFrameWnd)
    ON_WM_PAINT ()
END_MESSAGE_MAP ()

CMainWindow::CMainWindow ()
{
    Create (NULL, _T ("The Hello Application"));
}

//应用程序通过响应WM_PAINT消息绘制其窗口的客户区
//windows绘制宽口的非客户区
void CMainWindow::OnPaint ()
{
    CPaintDC dc (this);
    
    CRect rect;
    GetClientRect (&rect);

    dc.DrawText (_T ("Hello, MFC"), -1, &rect,
        DT_SINGLELINE | DT_CENTER | DT_VCENTER);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值