利用Visual C++/MFC开发Windows程序的优势_C语言教程_C++教程_C语...

来源:百度文库 编辑:神马文学网 时间:2024/10/03 02:33:49
利用Visual C++/MFC开发Windows程序的优势

MFC借助C++的优势为Windows开发开辟了一片新天地,同时也借助ApplicationWizzard使开发者摆脱离了那些每次都必写基本代码,借助ClassWizard和消息映射使开发者摆脱了定义消息处理时那种混乱和冗长的代码段。更令人兴奋的是利用C++的封装功能使开发者摆脱Windows中各种句柄的困扰,只需要面对C++中的对象,这样一来使开发更接近开发语言而远离系统。(但我个人认为了解系统原理对开发很有帮助)
正因为MFC是建立在C++的基础上,所以我强调C/C++语言基础对开发的重要性。利用C++的封装性开发者可以更容易理解和操作各种窗口对象;利用C++的派生性开发者可以减少开发自定义窗口的时间和创造出可重用的代码;利用虚拟性可以在必要时更好的控制窗口的活动。而且C++本身所具备的超越C语言的特性都可以使开发者编写出更易用,更灵活的代码。
在MFC中对消息的处理利用了消息映射的方法,该方法的基础是宏定义实现,通过宏定义将消息分派到不同的成员函数进行处理。下面简单讲述一下这种方法的实现方法:
代码如下
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
//}}AFX_MSG_MAP
ON_COMMAND(ID_FONT_DROPDOWN, DoNothing)
END_MESSAGE_MAP()
经过编译后,代码被替换为如下形式(这只是作讲解,实际情况比这复杂得多):
//BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
CMainFrame::newWndProc(...)
{
switch(...)
{
//{{AFX_MSG_MAP(CMainFrame)
// ON_WM_CREATE()
case(WM_CREATE):
OnCreate(...);
break;
//}}AFX_MSG_MAP
// ON_COMMAND(ID_FONT_DROPDOWN, DoNothing)
case(WM_COMMAND):
if(HIWORD(wP)==ID_FONT_DROPDOWN)
{
DoNothing(...);
}
break;
//END_MESSAGE_MAP()
}
}
newWndProc就是窗口过程只要是该类的实例生成的窗口都使用该窗口过程。
所以了解了Windows的消息机制在加上对消息映射的理解就很容易了解MFC开发的基本思路了。
利用Visual C++/MFC开发Windows程序的优势_C语言教程_C++教程_C语... C++Builder的多线程编程中一些体会_C语言教程_C++教程_C语言培训_C++教程... 如何在c++ builder中调用windows应用程序_C语言教程_C++教程_C语言培... C/C++中函数指针的含义_C/C++ 2 百度_c语言吧_怎么提高c语言能力?请吧主及做过工程项目的指点!! 吃出来的生活实用大全 (一)_c 毛笔楷书入门教材导览_c 元勋的共享空??url=http://165696.spaces.live.com/?_c... 哥去微软面试,第一句话就被赶出来了_c酷酷的口袋 C++ STL简介_c&vc吧_贴吧 戒除 void main 陋习_c++吧_贴吧 【构图的力量】——探讨摄影构图中的加减乘除法则(转)_C'est La Vie! c语言教程 支持多种语言的MFC程序 C#教程第一课:简单的欢迎程序 《电脑报》:诺基亚推准3G杀手应用-S60手机变身网站服务器全攻略_NOKIA 诺基亚_c... 算法分析与设计之五大常用算法_算法_C/C++频道_中国IT实验室技术专题 揭密内地名媛私密成长史(组图) _c 理财频道 _ 东方财富网(Eastmoney.com) ?瑞典时尚博主Frida Johnson最新冬日搭配日志,简单有型从这里开始!_海报网_C... windows系统下利用mingw ,eclipse下c/c 开发环境的配置 jsp教程Windows下JSP开发环境的配置 iso9660文件格式 VC/MFC / Visual C 资源 Windows文件系统过滤驱动开发教程 用C语言编写Windows服务程序的五个步骤—编程爱好者网站 programfan.com