摘要: MFC扩展DLL的内涵为MFC的扩展,用户使用MFC扩展DLL就像使用MFC本身的DLL一样。除了可以在MFC扩展DLL的内部使用MFC以外,MFC扩展DLL与应用程序的接口部分也可以是MFC。我们一般使用MFC扩展DLL来包含一些MFC的增强功能,譬如扩展MFC的CStatic、CButton等类 阅读全文
posted @ 2017-04-24 21:07 星月相随 阅读(309) 评论(0) 推荐(0)
摘要: 我们照样可以在EXE程序中隐式调用MFC规则DLL,只需要将DLL工程生成的.lib文件和.dll文件拷入当前工程所在的目录,并在RegularDllCallDlg.cpp文件(上一节中图5所示对话框类的实现文件)的顶部添加: #pragma comment(lib,"RegularDll.lib" 阅读全文
posted @ 2017-04-24 21:06 星月相随 阅读(254) 评论(0) 推荐(0)
摘要: 上一节中讲解了非MFC DLL,本节将介绍如何创建MFC规则DLL及使用MFC规则DLL的方法。 一、MFC规则DLL概述 MFC规则DLL的概念体现在两方面: (1)它是MFC的 “是MFC的”意味着可以在这种DLL的内部使用MFC; (2)它是规则的 “是规则的”意味着它不同于MFC扩展DLL, 阅读全文
posted @ 2017-04-24 21:02 星月相随 阅读(371) 评论(0) 推荐(0)
摘要: 上一节中讲解的是DLL概论及其调试和查看,本节将为大家详解非MFC DLL的相关内容。 1、一个简单的DLL 上一节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。 如图1,在VC++中new一个Win32 Dynamic-Link Li 阅读全文
posted @ 2017-04-24 21:01 星月相随 阅读(359) 评论(0) 推荐(0)
摘要: 比较大的应用程序都是由很多模块组成的,这些模块彼此协作,以完成整个软件系统的工作。其中可能存在一些模块的功能较为通用,在构造其他软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE 文件中,会产生一些问题。一是增加了应用程序的大小,这样会占用更多的磁盘空间,程 阅读全文
posted @ 2017-04-24 20:59 星月相随 阅读(583) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米讲了为Ribbon Bar添加控件的方法。本节教程鸡啄米将继续完善前面的实例,讲解一些稍复杂的控件的添加方法,及如何为它们添加消息处理函数。 一、为Ribbon Bar添加更多Ribbon控件 鸡啄米将在上一节实例的基础上,继续添加下拉菜单、Check Box、Combo Box等Ri 阅读全文
posted @ 2017-04-24 20:09 星月相随 阅读(262) 评论(0) 推荐(0)
摘要: 前面一节中鸡啄米为大家简单介绍了如何创建Ribbon样式的应用程序框架,本节教程就来初步讲讲怎样为Ribbon Bar添加Ribbon控件。 VS2010为Ribbon界面开发提供了Ribbon Designer,通过它我们可以为Ribbon Bar添加各种Ribbon控件、设置控件属性和进行界面布 阅读全文
posted @ 2017-04-24 20:08 星月相随 阅读(239) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米主要讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush。 鸡啄米依然是通过实例的方式来说明画刷的用法。此实例要实现的功能是,对话框上有一个按钮控件和一个图片控件,点击按钮弹出颜色对话框,然后在颜色对话框中选择颜色并点击“确定”后,图片控 阅读全文
posted @ 2017-04-24 20:05 星月相随 阅读(287) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米讲了GDI对象之画刷CBrush,至此图形图像的入门知识就讲完了。从本节开始鸡啄米将为大家带来Ribbon界面开发的有关内容。本文先来说说如何创建Ribbon样式的应用程序框架。 Ribbon界面就是微软从Office2007开始引入的一种为了使应用程序的功能更加易于发现和使用、减少了 阅读全文
posted @ 2017-04-24 20:05 星月相随 阅读(202) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen。 GDI对象 在MFC中,CGdiObject类是GDI对象的基类,通过查阅MSDN我们可以看到,CGdiObject类有六个直接的派生类,GDI对象主要也是这六个,分别是:CBitmap、CBrush、CFont 阅读全文
posted @ 2017-04-24 20:02 星月相随 阅读(269) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米讲了文本输出的知识,本节的主要内容是CDC类及其屏幕绘图函数。 CDC类简介 CDC类是一个设备上下文类。 CDC类提供了用来处理显示器或打印机等设备上下文的成员函数,还有处理与窗口客户区关联的显示上下文的成员函数。使用CDC的成员函数可以进行所有的绘图操作,包括处理绘图工具、GDI对 阅读全文
posted @ 2017-04-24 20:01 星月相随 阅读(533) 评论(0) 推荐(0)
摘要: 鸡啄米在上一节中讲了CFont字体类,本节主要讲解文本输出的方法和实例。 文本输出过程 在文本输出到设备以前,我们需要确定字体、字体颜色和输出的文本内容等信息。Windows窗口的客户区由应用程序管理,所以我们还要在应用程序中控制输出文本的格式,例如后续字符的位置、换行等格式。 由此,文本的输出过程 阅读全文
posted @ 2017-04-24 20:00 星月相随 阅读(331) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米讲了MFC异常处理,本节的主要内容是字体CFont类。 字体简介 GDI(Graphics Device Interface),图形设备接口,是Windows提供的一些函数和结构,用于在显示器和打印机上显示图形。我们在MFC开发中经常会使用GDI来输出文本或图形图像(当然现在也有了GD 阅读全文
posted @ 2017-04-24 19:59 星月相随 阅读(215) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米讲了CFile文件操作类,本节主要来说说MFC异常处理。 在鸡啄米C++编程入门系列的最后一节鸡啄米:C++编程入门系列之五十(异常处理)中,鸡啄米讲了C++标准异常的处理机制,如果你还没有学过这方面内容,可以到那节教程中去学习下。 MFC异常处理与C++标准异常处理是类似的,只是它在 阅读全文
posted @ 2017-04-24 19:56 星月相随 阅读(228) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米讲了定时器Timer的用法,本节介绍下文件操作类CFile类的使用。 CFile类概述 如果你学过C语言,应该知道文件操作使用的是文件指针,通过文件指针实现对它指向的文件的各种操作。这些文件操作函数中有的最终还是调用了操作系统的API函数或者处理过程与之类似,例如在Windows系统中 阅读全文
posted @ 2017-04-24 19:55 星月相随 阅读(294) 评论(0) 推荐(0)
摘要: 前面一节鸡啄米讲了CTime类和CTimeSpan类的使用,本节继续讲与时间有关的定时器。定时器并不是一个类,主要考虑到,提起时间的话就不能不说定时器,所以就把它放到CTime和CTimeSpan之后讲解。 定时器简介 定时器,可以帮助开发者或者用户定时完成某项任务。在使用定时器时,我们可以给系统传 阅读全文
posted @ 2017-04-24 19:54 星月相随 阅读(283) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米讲了MFC常用类CString类的用法,本节继续讲另外两个MFC常用类-日期和时间类CTime类和CTimeSpan类。 日期和时间类简介 CTime类的对象表示的时间是基于格林威治标准时间(GMT)的。CTimeSpan类的对象表示的是时间间隔。 CTime类和CTimeSpan类一 阅读全文
posted @ 2017-04-24 19:52 星月相随 阅读(236) 评论(0) 推荐(0)
摘要: 上一节鸡啄米讲了分割窗口的有关知识,本节开始讲解MFC的一些常用类,先来说说CString类。 CString类简介 CString类作为MFC的常用类,当之无愧。可以这样说,只要是从事MFC开发,基本都会遇到使用CString类的场合。因为字符串的使用比较普遍,而CString类又提供了对字符串的 阅读全文
posted @ 2017-04-24 19:51 星月相随 阅读(181) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米讲了文档、视图和框架结构中各对象之间的关系,本节主要讲讲在MFC中如何分割窗口。 分割窗口概述 分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或者是同一类型的视图,或者是不同类型的视图。 MFC分割窗口的方式有两种,动态分割和静态分割。 动态分割窗口通常用 阅读全文
posted @ 2017-04-24 19:50 星月相随 阅读(292) 评论(0) 推荐(0)
摘要: 前面一节中鸡啄米进行了文档、视图和框架的概述,本节主要讲解文档、视图、框架结构中各对象之间的关系。 各个对象之间的关系 文档、视图、框架结构中涉及到的对象主要有:应用程序对象、文档模板对象、文档对象、视图对象和框架窗口对象等。根据上一节的概述,大家对它们的概念已经有所了解了,下面就对它们之间的关系进 阅读全文
posted @ 2017-04-24 19:48 星月相随 阅读(144) 评论(0) 推荐(0)
摘要: 前面几节讲了菜单、工具栏和状态栏的使用,鸡啄米本节开始将为大家讲解文档、视图和框架的知识。 文档、视图和框架简介 在VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)创建的单文档工程Example34中,我们可以看到MFC向导自动为我们生成了CExample34Doc类、CExa 阅读全文
posted @ 2017-04-24 19:47 星月相随 阅读(180) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米讲了工具栏的创建、停靠与使用,本节来讲解状态栏的知识。 状态栏简介 状态栏相信大家在很多窗口中都能见到,它总是用来显示各种状态。状态栏实际上也是一个窗口,一般分为几个窗格,每个窗格分别用来显示不同的信息和状态等,如菜单项和工具栏按钮的提示信息。 用MFC向导生成的单文档或多文档程序都会 阅读全文
posted @ 2017-04-24 19:46 星月相随 阅读(303) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米讲了菜单及CMenu类的使用,这一节讲与菜单有密切联系的工具栏。 工具栏简介 工具栏一般位于主框架窗口的上部,菜单栏的下方,由一些带图片的按钮组成。当用户用鼠标单击工具栏上某个按钮时,程序会执行相应的操作,如果鼠标没有点击,只是停留在某个按钮上一会后,会弹出一个小窗口显示提示信息。 一 阅读全文
posted @ 2017-04-24 19:30 星月相随 阅读(239) 评论(0) 推荐(0)
摘要: 鸡啄米在上一节教程中讲了工具栏资源及CToolBar类,本节继续讲解工具栏的相关知识,主要内容包括工具栏的创建、停靠与使用。 工具栏的使用 上一节中鸡啄米提到过,一般情况下工具栏中的按钮在菜单栏中都有对应的菜单项,两者实现的功能相同,要想实现这种效果,只需要将工具栏按钮的ID与对应的菜单栏中菜单项的 阅读全文
posted @ 2017-04-24 19:30 星月相随 阅读(256) 评论(0) 推荐(0)
摘要: 鸡啄米在上一节中讲的是VS2010的菜单资源,本节主要讲菜单及CMenu类的使用。 CMenu类的主要成员函数 MFC为菜单的操作提供了CMenu类,下面鸡啄米就常用的几个成员函数进行简单的介绍。 BOOL LoadMenu(UINT nIDResource); 加载菜单资源,并将其附加到CMenu 阅读全文
posted @ 2017-04-24 19:29 星月相随 阅读(339) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米讲了标签控件知识的上半部分,本节继续讲下半部分。 标签控件的创建 MFC为标签控件的操作提供了CTabCtrl类。 与之前的控件类似,创建标签控件可以在对话框模板中直接拖入Tab Control,也可以使用CTabCtrl类的Create成员函数创建。Create函数的原型如下: vi 阅读全文
posted @ 2017-04-24 19:28 星月相随 阅读(196) 评论(0) 推荐(0)
摘要: 上一节讲了标签控件Tab Control以后,常用控件的内容就全部讲完了,当然并没有包括所有控件,主要是一些很常用很重要的控件。本节开始鸡啄米将为大家讲解菜单的概念及使用。 菜单简介 菜单在界面设计中是经常使用的一种元素,包括Windows系统中的窗口、智能终端设备的应用界面等都会经常见到菜单的身影 阅读全文
posted @ 2017-04-24 19:28 星月相随 阅读(188) 评论(0) 推荐(0)
摘要: 前面两节鸡啄米讲了树形控件Tree Control,本节开始讲解标签控件Tab Control,也可以称为选项卡控件。 标签控件简介 标签控件也比较常见。它可以把多个页面集成到一个窗口中,每个页面对应一个标签,用户点击某个标签时,它对应的页面就会显示。下图是Windows系统配置中标签控件的例子: 阅读全文
posted @ 2017-04-24 19:27 星月相随 阅读(307) 评论(0) 推荐(0)
摘要: 前面两节为大家讲了列表视图控件List Control,这一节开始介绍一种特殊的列表--树形控件Tree Control。 树形控件简介 树形控件在Windows系统中是很常见的,例如资源管理器左侧的窗口中就有用来显示目录的树形视图。树形视图中以分层结构显示数据,每层的缩进不同,层次越低缩进越多。树 阅读全文
posted @ 2017-04-24 19:26 星月相随 阅读(377) 评论(0) 推荐(0)
摘要: 前面一节讲了树形控件Tree Control的简介、通知消息以及相关数据结构,本节继续讲下半部分,包括树形控件的创建、CTreeCtrl类的主要成员函数和应用实例。 树形控件的创建 MFC为树形控件提供了CTreeCtrl类,它封装了树形控件的所有操作。 树形控件的创建也是有两种方式,一种是在对话框 阅读全文
posted @ 2017-04-24 19:26 星月相随 阅读(182) 评论(0) 推荐(0)
摘要: 上一节是关于列表视图控件List Control的上半部分,简单介绍了列表视图控件,其通知消息的处理和有关结构体的定义。本节继续讲解下半部分,包括列表视图控件的创建、CListCtrl类的主要成员函数和CListCtrl类应用实例。 列表视图控件的创建 MFC同样为列表视图控件的操作提供了CList 阅读全文
posted @ 2017-04-24 19:25 星月相随 阅读(327) 评论(0) 推荐(0)
摘要: 前面一节中,鸡啄米讲了图片控件Picture Control,本节为大家详解列表视图控件List Control的使用。 列表视图控件简介 列表视图控件List Control同样比较常见,它能够把任何字符串内容以列表的方式显示出来,这种显示方式的特点是整洁、直观,在实际应用中能为用户带来方便。 列 阅读全文
posted @ 2017-04-24 19:24 星月相随 阅读(374) 评论(0) 推荐(0)
摘要: 上一节中鸡啄米讲的是滚动条控件,本节主要讲一种简单实用的控件,图片控件Picture Control。我们可以在界面某个位置放入图片控件,显示图片以美化界面。 图片控件简介 图片控件和前面讲到的静态文本框都是静态文本控件,因此两者的使用方法有很多相同之处,所属类都是CStatic类,有关成员函数已在 阅读全文
posted @ 2017-04-24 19:23 星月相随 阅读(370) 评论(0) 推荐(0)
摘要: 上一节鸡啄米讲了列表框控件ListBox的使用,本节主要讲解组合框控件Combo Box。组合框同样相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是组合框控件。它为我们的日常操作提供了很多方便。 组合框控件简介 组合框其实就是把一个编辑框和一个列表 阅读全文
posted @ 2017-04-24 19:22 星月相随 阅读(404) 评论(0) 推荐(0)
摘要: 回顾上一节,鸡啄米讲的是组合框控件Combo Box的使用。本节详解滚动条控件Scroll Bar的相关内容。 滚动条控件简介 滚动条大家也很熟悉了,Windows窗口中很多都有滚动条。前面讲的列表框和组合框设置了相应属性后,如果列表项显示不下也会出现滚动条。滚动条分为水平滚动条(Horizonta 阅读全文
posted @ 2017-04-24 19:22 星月相随 阅读(368) 评论(0) 推荐(0)
摘要: 前面两节讲了比较常用的按钮控件,并通过按钮控件实例说明了具体用法。本文要讲的是列表框控件(ListBox)及其使用实例。 列表框控件简介 列表框给出了一个选项清单,允许用户从中进行单项或多项选择,被选中的项会高亮显示。列表框可分为单选列表框和多选列表框,顾名思义,单选列表框中一次只能选择一个列表项, 阅读全文
posted @ 2017-04-24 19:21 星月相随 阅读(257) 评论(0) 推荐(0)