MFC 入门(含代码,框架自己写)

时间:2022-05-19 16:11:16 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
标题:MFC第一篇(HELLO WORLD 关键字:WINDOWS消息机制

说明:本文档资料参考MFC WINDOWS 程序设计第二版 MFC工程建立方法:新建一个WIN32的空工程,然后设置链接方式为MFC类库动态链接,然后添加头文件和源文件就可以编程 代码:

Demo1.h 里面的源码

class CMyApp :public CWinApp { public:

virtual BOOL InitInstance();//当声明了一个CWinApp类的时候,系统会自动调用该函数, }; //且该函数课重写 class CMainWnd :public CFrameWnd { public: };

BOOL CMyApp::InitInstance() { }

void CMainWnd::OnPaint() {

CPaintDC dc(this);//声明一个DC CRect rect; //定义一个矩形变量

GetClientRect(&rect);//获得一个客户区矩形大小,不含标题栏

dc.DrawText(_T("hello world"),&rect,DT_CENTER|DT_SINGLELINE|DT_VCENTER);

m_pMainWnd=new CMainWnd; //调用了InitInstance后,执行生成一个窗口类然后自动 m_pMainWnd->ShowWindow(m_nCmdShow);// 调用到窗口类的构造函数 m_pMainWnd->UpdateWindow(); return TRUE; CMainWnd();

afx_msg void OnPaint(); protected:

DECLARE_MESSAGE_MAP()//声明映射

}//相关API可以查阅MSDN,注意最后一个参数的前面恰好是DT,就是DrawText的缩写 CMainWnd::CMainWnd() { }

Demo1.c的源码

#include //MFC的主要头文件 #include "demo1.h"

CMyApp app; //声明一个应用程序 BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd) ON_WM_PAINT()

Create(NULL,_T("demo1"));//创建一个标题为demo的窗口,注意后面参数可以缺省


END_MESSAGE_MAP()//窗口消息的映射机制,需要什么消息可以查阅MSDN进行扩充

由这个程序知道,一个窗口程序必须具备一个应用程序类和一个窗口类(本程序是派生于mfc的框架类)处理的消息都是窗口消息,所以映射只有一个。

学习mfc许多函数都不要记忆的,但是常用的类名以及继承方式还是需要记忆下的 前面所讲的一般都是窗口消息的循环

布置作业:1.修改对话框的大小,标题(通过Create函数可以)(修改背景后面会讲的)

2.大家查阅一下MSDNCWND类里面的基本函数,往窗口添加一个左键单击的消息并弹出一

个消息对话框,也预习下MFCCDC类。

不懂的可以跟帖:海量分享尽在幽灵代码




本文来源:https://www.wddqw.com/doc/4df852d665ce0508763213e7.html