本文是截图:MFC复习和学习 第一章 MFC基础窗口构建 MFC应用程序启动机制 MFC 消息循环机制
本文的pdf下载地址是:http://yunpan.cn/cdngHPW7ptdzD 访问密码 3bd2 和 http://yunpan.cn/cdnguTY9UEAdw 访问密码 5435
/************************************************************************/
/*本程序用来演示使用MFC构建一个最基本的窗口程序,并且在上面显示出一行文字*/
/************************************************************************/
#include "stdafx.h"
#include "MFC02.h"
//窗口框架类
class CMyFrameWnd:public CFrameWnd
{
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
};
LRESULT CMyFrameWnd::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_CREATE:
AfxMessageBox(TEXT("新建MFC窗口程序!"));
break;
case WM_PAINT:
{
PAINTSTRUCT ps={0};
HDC hDC=::BeginPaint(m_hWnd,&ps);
TCHAR szText[]=TEXT("新建MFC窗口程序!");
TextOut(hDC,100,100,szText,_tcslen(szText));
::EndPaint(m_hWnd,&ps);
}
break;
}
return CFrameWnd::WindowProc(message,wParam,lParam);
}
//应用程序启动类
class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();
CMyApp();
};
CMyApp theApp;
BOOL CMyApp::InitInstance()
{
CMyFrameWnd * pWnd=new CMyFrameWnd();
pWnd->Create(NULL,TEXT("MYAPP"));
pWnd->ShowWindow(SW_SHOW);
m_pMainWnd=pWnd;
return TRUE;
}
CMyApp::CMyApp()
{
}
/************************************************************************/
/* 本程序用来演示MFC中的消息循环机制,我们可以通过使用断点和go功能去查看
相应的宏定义。 */
/************************************************************************/
#include "stdafx.h"
#include "MFC03.h"
class CMsgFrame:public CFrameWnd
{
public:
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
public:
DECLARE_MESSAGE_MAP()//消息映射定义宏
public:
//消息映射函数
afx_msg LRESULT OnPaint(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnCreate(WPARAM wParam,LPARAM lParam);
};
BEGIN_MESSAGE_MAP(CMsgFrame,CFrameWnd)//消息映射的宏的实现
ON_MESSAGE(WM_PAINT,OnPaint)
ON_MESSAGE(WM_CREATE,OnCreate)
END_MESSAGE_MAP()
LRESULT CMsgFrame::OnCreate(WPARAM wParam,LPARAM lParam)
{
AfxMessageBox(TEXT("本程序用来演示消息循环机制!"));
return 0;
}
LPARAM CMsgFrame::OnPaint(WPARAM wParam,LPARAM lParam)
{
PAINTSTRUCT ps={0};
HDC hDC=::BeginPaint(m_hWnd,&ps);
TCHAR szText[]=TEXT("可以使用断点设置和go功能查看相应的宏定义!");
TextOut(hDC,100,100,szText,_tcslen(szText));
::EndPaint(m_hWnd,&ps);
return 0;
}
LRESULT CMsgFrame::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
return CFrameWnd::WindowProc(message,wParam,lParam);
}
class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();
CMyApp();
};
CMyApp theApp;
CMyApp::CMyApp()
{
}
BOOL CMyApp::InitInstance()
{
CMsgFrame * pWnd=new CMsgFrame();
pWnd->Create(NULL,TEXT("消息映射!"));
pWnd->ShowWindow(SW_SHOW);
pWnd->UpdateWindow();
m_pMainWnd=pWnd;
return TRUE;
}