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.代码结构
5.运行效果
6.运行时在项目属性 设定共享 DLL 中使用 MFC否则无法运行
Thanks
^_^o~ 努力!
页面更新:2024-04-18
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号