初识Win32窗口应用程序-MFC(二)


MFC(Microsoft Foundation Classes) 微软基础类库


使用MFC创建窗口方式

1.#include

导入MFC窗口头文件 afxwin.h

2.在自定义的头文件mMfc.h中添加程序初始化入口和窗口创建入口

mMfc.h
class MyCWinApp :public CWinApp //继承应用程序类CWinApp
{
public:
	virtual BOOL InitInstance(); //程序入口 重载InitInstance 并实现InitInstance,创建窗口框架类对象
};

class MyCFrameWnd :public CFrameWnd //自定义MyCFrameWnd并继承窗口框架类CFrameWnd
{
public:
	MyCFrameWnd();//构造函数
  DECLARE_MESSAGE_MAP();//消息映射宏
	afx_msg void OnMouseMove(UINT, CPoint);//鼠标映射入口
	afx_msg void OnPaint();//画图映射入口
	// ...
};

3.在自定义mMfc.cpp中实现程序入口InitInstance()和窗口框架的构造函数MyCFrameWnd()

mMfc.cpp

#include "mMfc.h"
MyCWinApp app; //全局程序类对象 唯一

BOOL MyCWinApp::InitInstance() { //实现InitInstance
	MyCFrameWnd* mfw = new MyCFrameWnd;//创建自定义窗口框架类对象
	mfw->ShowWindow(SW_SHOWNORMAL); //显示窗口
	mfw->UpdateWindow();//更新窗口
	m_pMainWnd = mfw;//保存指向应用程序的主窗口的指针 
	return 1;
}

BEGIN_MESSAGE_MAP(MyCFrameWnd, CFrameWnd) //消息映射宏开始
	ON_WM_MOUSEMOVE()//映射鼠标移动事件
	ON_WM_PAINT()    //映射画图事件
END_MESSAGE_MAP();   //消息映射宏结束

void MyCFrameWnd::OnMouseMove(UINT, CPoint cp)//鼠标映射事件实现
{
	TCHAR buf[50];
	wsprintf(buf, TEXT("移动鼠标 坐标 x = %d,y = %d"), cp.x, cp.y);
	MessageBox(buf);
}
void MyCFrameWnd::OnPaint()//画图映射事件实现
{
	CPaintDC dc(this);
	dc.TextOutW(0,0,TEXT("hello Window"));

}
MyCFrameWnd::MyCFrameWnd()
{
	Create(NULL, TEXT("mfcWindow"));//创建窗口
}


4.代码结构


初识Win32窗口应用程序-MFC(二)

5.运行效果


初识Win32窗口应用程序-MFC(二)


6.运行时在项目属性 设定共享 DLL 中使用 MFC否则无法运行

初识Win32窗口应用程序-MFC(二)


Thanks

^_^o~ 努力!

展开阅读全文

页面更新:2024-04-18

标签:应用程序   窗口   微软   画图   初始化   坐标   指针   全局   函数   框架   入口   对象   消息   事件   程序   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top