您的位置:首页 > 其它

MFC复习和学习 第一章 MFC基础窗口构建 MFC应用程序启动机制 MFC

2014-09-16 13:07 531 查看
本文是截图: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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐