手工编写MFC的窗口程序(不用VS自带的MFC代码)

可以帮助我们更加清晰的认识MFC程序的构成(之后再分析由VS工具自动生产的MFC代码,发现大体上都是差不多的),保存为Test.cpp,编译后即可运行。

#include<afxwin.h>
class	CMyApp:public CWinApp//定义MyApp应用程序类,继承CWinApp而来
{
public:
	virtual BOOL InitInstance();
};
class CMainWindow:public CFrameWnd//定义主窗口类,继承主框架类CFrameWnd
{
public:
	CMainWindow();
protected:
	afx_msg void OnPaint();//afx_msg MFC程序标志,表示声明的是一个消息响应函数
	DECLARE_MESSAGE_MAP()//用来定义消息映射的宏
};
CMyApp myApp;
BOOL CMyApp::InitInstance()//实例初始化
{
	m_pMainWnd=new CMainWindow;//定义窗口
	
	m_pMainWnd->ShowWindow(m_nCmdShow);//显示窗口
	m_pMainWnd->UpdateWindow();//更新窗口
	return TRUE;
}

BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)//消息映射
ON_WM_PAINT()
END_MESSAGE_MAP()

CMainWindow::CMainWindow()//使用默认的构造函数创建窗口
{
	Create(NULL,_T("The Window For MFC"));
}

void CMainWindow::OnPaint()//绘制窗口
{
	CPaintDC dc(this);
	CRect rect;
	GetClientRect(&rect);//获得客户区矩形区域
	dc.DrawText(_T("HELLO,MyMFC!!!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);//在窗口中输出文本
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值