MFC系列 - 第一个MFC入门程序

     MFC,多年开发和教学,这门课程,新课改决定将它砍掉,Qt也是我们的趋势,同时在我的Qt系列中详细讲解了Qt的系列教学。MFC虽然很古老,但是还是得佩服微软搞得这套框架,让一代又一代Windows程序员无不熟练在心,犹如武功秘籍葵花宝典、虽然在界面UI这块让人痛心疾首、以及一大堆的宏定义让人摸不着头脑,每次讲课,一些学员就说这是不是Java,不就是VB吗,但是他的开发速度、以及效率、还有编程思想、在Windows开发当中的贡献还是蛮大,从现在形势、微软也慢慢的抛弃MFC。

        从这开始我们就进入MFC开发,在读者已经熟练Win32消息机制以及窗口创建原理基础上,我们来拓展。我使用的工具是Visual Studio 2013,尤其很多MFC书籍都是使用VC6.0没办法。

        新建一个Win32项目:【更多精彩教程,视频教学、源码分享请加入QQ群:569268376】

MFC系列 - 第一个MFC入门程序_第1张图片

        接下来选择空项目:

MFC系列 - 第一个MFC入门程序_第2张图片

        点完成这样工程就建立好了。

MFC系列 - 第一个MFC入门程序_第3张图片

        接下来添加源文件HelloMFC.cpp:

MFC系列 - 第一个MFC入门程序_第4张图片

开始写代码,熟练Win32窗口就知道:

#include 
intWINAPIWinMain(HINSTANCEhInstance, HINSTANCEhPreInstance, LPSTRlpCmdLine, intnCmdShow)
{
    return 0;
}

但是,MFC内部已经帮你封装好了,不需要你去实现WinMain函数了。首先包含MFC非常核心的头文件afxwin.h,三部曲就这样来了:

(1)、添加CWinApp的派生类CHelloMFCApp

(2)、添加CWinApp的派生类CHelloMFCApp类的全局对象theApp

(3)、重载虚函数InitInstance,执行你的操作,弹一个经典"Hello World";

代码如下:

#include
classCHellMFCApp : publicCWinApp
{
public:
  virtualBOOLInitInstance()
  {
     更多精彩教程,视频教学、源码分享请加入QQ群:569268376
     AfxMessageBox(L"HelloWorld");
     returnTRUE;
  }
};
CHellMFCApp theApp;

        MFC系列 - 第一个MFC入门程序_第5张图片

        注意这里面的InitInstance就相当于平时写的C/C++里面的main函数,所有的代码都从这里开始,当然这句话并不完全对,但是可以先这么理解。因为MFC内部已经帮你做好了封装,还包括全局变量theApp的构造等等都在他之前。 

        编译一下,发现有错误:

MFC系列 - 第一个MFC入门程序_第6张图片

这个问题很好解决,说明新建的项目是Win32窗口应用,既然使用MFC那就要修改属性:

MFC系列 - 第一个MFC入门程序_第7张图片

把“使用标准的Windows库”改为“在共享DLL中使用MFC” 或“在静态库中使用MFC”。在编译一下生成,好这个时候大功告成,第一个MFC应用程序:HelloWorld出来了。

MFC系列 - 第一个MFC入门程序_第8张图片

更多精彩教程,源码分享请加入QQ群:569268376

你可能感兴趣的:(MFC系列,C,C++,MFC,VC)