MFC
文章平均质量分 87
赵小咖
每天努力一点点
展开
-
VS2013/MFC编程入门之十七(对话框:字体对话框)
在上一节为大家讲解了文件对话框的使用,本节则主要介绍字体对话框如何应用。 字体对话框的作用是用来选择字体。我们也经常能够见到。MFC使用CFontDialog类封装了字体对话框的所有操作。字体对话框也是一种模态对话框。 CFontDialog类的构造函数 我们先来了解CFontDialog类。它的常用构造函数原型如下:CFontD转载 2016-11-28 23:14:45 · 1751 阅读 · 0 评论 -
VS2013/MFC编程入门之三十六(文档、视图和框架:概述)
前面几节讲了菜单、工具栏和状态栏的使用,本节开始将为大家讲解文档、视图和框架的知识。 文档、视图和框架简介 在VS2013/MFC编程入门之三十二(菜单:VS2013菜单资源详解)创建的单文档工程Example32中,我们可以看到MFC向导自动为我们生成了CExample32Doc类、CExample32View类和CMainFrame类,它们就分别是文档类原创 2016-12-07 23:24:42 · 3159 阅读 · 0 评论 -
VS2013/MFC编程入门之三十五(状态栏的使用详解)
上一节中讲了工具栏的创建、停靠与使用,本节来讲解状态栏的知识。 状态栏简介 状态栏相信大家在很多窗口中都能见到,它总是用来显示各种状态。状态栏实际上也是一个窗口,一般分为几个窗格,每个窗格分别用来显示不同的信息和状态等,如菜单项和工具栏按钮的提示信息。 用MFC向导生成的单文档或多文档程序都会自动创建状态栏,大家可以运行下VS2013/M原创 2016-12-07 23:04:22 · 3461 阅读 · 0 评论 -
VS2013/MFC编程入门之三十二(菜单:VS2013菜单资源详解)
前面我们已经讲完了所有的常用控件,本节开始为大家讲解菜单的概念及使用。 菜单简介 菜单可以分为下拉式菜单和弹出式菜单。 下拉式菜单一般在窗口标题栏下面显示,大家还记得我们在VS2013/MFC编程入门之一(利用MFC向导生成单文档应用程序框架)中创建的HelloWorld单文档工程吗?它的运行结果窗口的标题栏下就是下拉式菜单。下拉式菜单通原创 2016-12-04 10:43:30 · 7494 阅读 · 0 评论 -
VS2013/MFC编程入门之十(对话框:模态对话框及其弹出过程)
这一节讲讲什么是模态对话框和非模态对话框,以及模态对话框怎样弹出。 一.模态对话框和非模态对话框 Windows对话框分为两类:模态对话框和非模态对话框。 模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。 非模态原创 2016-11-24 22:59:30 · 6967 阅读 · 1 评论 -
VS2013/MFC编程入门之九(对话框:设置对话框控件的Tab顺序)
前面几节为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整。 上一讲为“计算”按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法运算。但是还有个遗留的小问题,就是对话框控件的Tab顺序问题。 运行加法计算器程序,显示对话框后不进行任何操作,直接按回车,可以看到对话框退出了。这是因为“退出”按钮是Tab顺序为1的控件原创 2016-11-24 22:39:26 · 3710 阅读 · 4 评论 -
VS2013/MFC编程入门之七(对话框:创建对话框类和添加控件变量)
前两讲中为大家讲解了如何创建对话框资源。创建好对话框资源后要做的就是生成对话框类了。再声明下,生成对话框类主要包括新建对话框类、添加控件变量和控件的消息处理函数等。 因为给大家的例程Addition是基于对话框的程序,所以程序自动创建了对话框模板IDD_ADDITION_DIALOG,并自动生成了对话框类CAdditionDlg,它是从CDialogEx类派生的。大家用过VC+原创 2016-11-23 22:14:45 · 19114 阅读 · 13 评论 -
VS2013/MFC编程入门之八(对话框:为控件添加消息处理函数)
创建对话框类和添加控件变量在上一讲中已经讲过,这一讲的主要内容是如何为控件添加消息处理函数。 MFC为对话框和控件等定义了诸多消息,我们对它们操作时会触发消息,这些消息最终由消息处理函数处理。比如我们点击按钮时就会产生BN_CLICKED消息,修改编辑框内容时会产生EN_CHANGE消息等。一般为了让某种操作达到效果,我们只需要实现某个消息的消息处理函数。原创 2016-11-24 21:09:20 · 12553 阅读 · 9 评论 -
VS2013/MFC编程入门之六(对话框:为对话框添加控件)
创建对话框资源需要创建对话框模板、修改对话框属性、为对话框添加各种控件等步骤,前面一讲中已经讲了创建对话框模板和修改对话框属性,本节继续讲如何为对话框添加控件。 上一讲中创建了一个名为“Addition”的工程,目的是生成一个实现加法运算的应用程序。实现加法计算有几个必要的因素:被加数、加数、和。被加数和加数需要输入,和需要输出显示。那么这几个因素都需要相应的控件来输入或显示,原创 2016-11-23 17:07:18 · 20160 阅读 · 2 评论 -
VS2013/MFC编程入门之十一(对话框:非模态对话框的创建及显示)
上一节讲了模态对话框及其弹出过程,本节接着讲另一种对话框--非模态对话框的创建及显示。 前面已经说过,非模态对话框显示后,程序其他窗口仍能正常运行,可以响应用户输入,还可以相互切换。本文中将上一讲中创建的Tip模态对话框改为非模态对话框,让大家看下效果。 非模态对话框的对话框资源和对话框类 实际上,模态对话框和非模态对话框在创建对话框资源原创 2016-11-25 22:22:17 · 2802 阅读 · 2 评论 -
VS2013/MFC编程入门之十三(对话框:向导对话框的创建及显示)
上一讲讲了属性页对话框和相关的两个类CPropertyPage类和CPropertySheet类,对使用属性页对话框做准备。本节将为大家演示如何创建向导对话框。 仍然以前面的“加法计算器”的例子为基础,在其中加入向导对话框,我们可以用它来说明加法计算器的使用方法,一步一步引导用户操作,这也是比较常见的用法。 加法计算器使用时大概可以分为三步:输入被加数、输入原创 2016-11-26 22:59:58 · 5330 阅读 · 2 评论 -
VS2013/MFC编程入门之三十(常用控件:树形控件Tree Control 下)
前面一节讲了树形控件Tree Control的简介、通知消息以及相关数据结构,本节继续讲下半部分,包括树形控件的创建、CTreeCtrl类的主要成员函数和应用实例。 树形控件的创建 MFC为树形控件提供了CTreeCtrl类,它封装了树形控件的所有操作。 树形控件的创建也是有两种方式,一种是在对话框模板中直接拖入Tree Control控原创 2016-12-03 15:56:25 · 5396 阅读 · 3 评论 -
VS2013/MFC编程入门之三十九(MFC常用类:CString类)
上一节讲了分割窗口的有关知识,本节开始讲解MFC的一些常用类,先来说说CString类。 CString类简介 CString类作为MFC的常用类,当之无愧。可以这样说,只要是从事MFC开发,基本都会遇到使用CString类的场合。因为字符串的使用比较普遍,而CString类又提供了对字符串的便捷操作,所以它给MFC开发人员带来了高的开发效率,受到了开发者的原创 2017-02-15 21:43:22 · 3510 阅读 · 0 评论 -
VS2013/MFC编程入门之三十八(文档、视图和框架:分割窗口)
上一节中讲了文档、视图和框架结构中各对象之间的关系,本节主要讲讲在MFC中如何分割窗口。 分割窗口概述 分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或者是同一类型的视图,或者是不同类型的视图。 MFC分割窗口的方式有两种,动态分割和静态分割。 动态分割窗口通常用于创建同一个文档对应的多个视图原创 2017-02-15 21:19:28 · 4146 阅读 · 0 评论 -
VS2013/MFC编程入门之三十七(文档、视图和框架:各对象之间的关系)
前面一节中进行了文档、视图和框架的概述,本节主要讲解文档、视图、框架结构中各对象之间的关系。 各个对象之间的关系 文档、视图、框架结构中涉及到的对象主要有:应用程序对象、文档模板对象、文档对象、视图对象和框架窗口对象等。根据上一节的概述,大家对它们的概念已经有所了解了,下面就对它们之间的关系进行总结和概括,并对各个关系中用到的类的成员函数进行介绍。原创 2016-12-08 19:53:34 · 2403 阅读 · 0 评论 -
VS2013/MFC编程入门之十六(对话框:文件对话框)
上一讲介绍的是消息对话框,本节讲解文件对话框。 文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框。例如,很多编辑软件像记事本等都有“打开”选项,选择“打开”后会弹出一个对话框,让我们选择要打开文件的路径,这个对话框就是打开文件对话框;除了“打开”选项一般还会有“另存为”选项,选择“另存为”后原创 2016-11-27 12:51:03 · 3550 阅读 · 2 评论 -
VS2013/MFC编程入门之十五(对话框:消息对话框)
本节讲解Windows系统中最常用最简单的一类对话框--消息对话框。 我们在使用Windows系统的过程中经常会见到消息对话框,提示我们有异常发生或提出询问等。因为在软件开发中经常用到消息对话框,所以MFC提供了两个函数可以直接生成指定风格的消息对话框,而不需要我们在每次使用的时候都要去创建对话框资源和生成对话框类等。这两个函数就是CWnd类的成员函数MessageBox()和原创 2016-11-27 11:21:16 · 2381 阅读 · 2 评论 -
VS2013/MFC编程入门之十四(对话框:一般属性页对话框的创建及显示)
属性页对话框包括向导对话框和一般属性页对话框两类,上一节讲了如何创建并显示向导对话框,本节将继续介绍一般属性页对话框的创建和显示。 实际上,一般属性页对话框的创建和显示过程和向导对话框是很类似的。本文将上一节中的向导对话框进行少量修改,使其成为一般属性页对话框。 一般属性页对话框的创建步骤: 1.创建属性页对话框资源原创 2016-11-27 10:42:41 · 2311 阅读 · 0 评论 -
VS2013/MFC编程入门之十二(对话框:属性页对话框及相关类的介绍)
本节开始讲一种特殊的对话框--属性页对话框。 属性页对话框的分类 属性页对话框想必大家并不陌生,XP系统中桌面右键点属性,弹出的就是属性页对话框,它通过标签切换各个页面。另外,我们在创建MFC工程时使用的向导对话框也属于属性页对话框,它通过点击“下一步”等按钮来切换页面。 属性页对话框就是包含一般属性页对话框和向导对话框两类。它将多个对话原创 2016-11-26 22:23:02 · 2541 阅读 · 3 评论 -
VS2013/MFC编程入门之五(对话框:创建对话框模板和修改对话框属性)
在上一讲中介绍了MFC的消息映射机制,属于原理方面的知识。对于VC++编程入门学习者来说可能有些抽象,本文会把消息映射的知识渗透到后面的教程中。本节开始为大家讲解偏应用的知识-创建对话框。 对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,qq的主界面其实就是个对话框,只是它做了很多美工方面的工作,将其大大美化了。 创建对话框主要分两大步原创 2016-11-23 16:32:18 · 16778 阅读 · 1 评论 -
VS2013/MFC编程入门之三十四(工具栏:工具栏资源及CToolBar类)
上一节中讲了菜单及CMenu类的使用,这一节讲与菜单有密切联系的工具栏。 工具栏简介 工具栏一般位于主框架窗口的上部,菜单栏的下方,由一些带图片的按钮组成。当用户用鼠标单击工具栏上某个按钮时,程序会执行相应的操作,如果鼠标没有点击,只是停留在某个按钮上一会后,会弹出一个小窗口显示提示信息。 一般工具栏中的按钮在菜单栏中都有对应的菜单项中,原创 2016-12-05 23:21:36 · 9386 阅读 · 1 评论 -
VS2013/MFC编程入门之二十四(常用控件:组合框控件Combo Box)
上一节讲了列表框控件ListBox的使用,本节主要讲解组合框控件Combo Box。组合框同样相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是组合框控件。 组合框控件简介 组合框其实就是把一个编辑框和一个列表框组合到了一起,分为三种:简易(Simple)组合框、下拉式(Dropdown)组合框和下拉列表式(原创 2016-12-01 19:08:11 · 11458 阅读 · 1 评论 -
VS2013/MFC编程入门之二十五(常用控件:滚动条控件Scroll Bar)
本节详解滚动条控件Scroll Bar的相关内容。 滚动条控件简介 前面讲的列表框和组合框设置了相应属性后,如果列表项显示不下也会出现滚动条。滚动条分为水平滚动条(Horizontal Scroll Bar)和垂直滚动条(Vertical Scroll Bar)两种。滚动条中有一个滚动块,用于标识滚动条当前滚动的位置。我们可以拖动滚动块,也可以用鼠标点击原创 2016-12-01 19:56:50 · 6071 阅读 · 0 评论 -
VS2013/MFC编程入门之二十三(常用控件:列表框控件ListBox)
前面两节讲了比较常用的按钮控件,并通过按钮控件实例说明了具体用法。本文要讲的是列表框控件(ListBox)及其使用实例。 列表框控件简介 列表框给出了一个选项清单,允许用户从中进行单项或多项选择,被选中的项会高亮显示。列表框可分为单选列表框和多选列表框,顾名思义,单选列表框中一次只能选择一个列表项,而多选列表框可以同时选择多个列表项。 列原创 2016-12-01 18:30:59 · 10844 阅读 · 0 评论 -
VS2013/MFC编程入门之二十二(常用控件:按钮控件的编程实例)
上一节VS2013/MFC编程入门教程中讲了按钮控件Button、Radio Button和Check Box的基本用法,本节就继续讲按钮控件的内容,通过一个实例让大家更清楚按钮控件在实际的软件开发中如何使用。 因为Button控件在前面的例子中涉及到了,比较简单,本文就不作深入分析了,而是重点讲解单选按钮Radio Button、复选框Check Box的使用。原创 2016-11-30 23:40:17 · 4030 阅读 · 4 评论 -
VS2013/MFC编程入门之二十一(常用控件:按钮控件Button、Radio Button和Check Box)
上一节中讲了编辑框的用法,本节继续讲解常用控件--按钮控件的使用。 按钮控件简介 按钮控件包括命令按钮(Button)、单选按钮(Radio Button)和复选框(Check Box)等。命令按钮就是我们前面多次提到的狭义的按钮控件,用来响应用户的鼠标单击操作,进行相应的处理,它可以显示文本也可以嵌入位图。单选按钮使用时,一般是多个组成一组,组中每个单选按原创 2016-11-30 16:17:29 · 3618 阅读 · 0 评论 -
VS2013/MFC编程入门之二十(常用控件:编辑框Edit Control)
除了静态文本框外,编辑框(Edit Control)同样是一种很常用的控件,本节要讲的是在编辑框中输入并编辑文本。在前面加法计算器的例子中已经演示了编辑框的基本应用。下面具体讲解编辑框的使用。 编辑框的通知消息 编辑框发生某些事件时会向父窗口发送通知消息。在对话框模板中的编辑框上点右键,选择“添加事件处理程序”,为编辑框添加消息处理函数时,可以在“消息类型”原创 2016-11-30 16:07:41 · 8941 阅读 · 0 评论 -
VS2013/MFC编程入门之十九(常用控件:静态文本框)
从本节开始讲解各种常用控件的用法。MFC中常用控件主要包括:静态文本框、编辑框、单选按钮、复选框、分组框、列表框、组合框、图片控件、列表控件、树形控件和进度条控件等等。本节先来讲解静态文本框的使用。 控件的通知消息 在将静态文本框的使用之前,先大概讲讲控件的通知消息。 当控件有事件发生时,它会向父窗口发送通知消息。最常发生的事件就是鼠标单原创 2016-11-30 11:02:10 · 2528 阅读 · 0 评论 -
VS2013/MFC编程入门之十八(对话框:颜色对话框)
在上一节中为大家讲解了字体对话框的使用方法,熟悉了字体对话框,本节继续讲另一种通用对话框--颜色对话框。 颜色对话框大家肯定也不陌生,我们可以打开它选择需要的颜色,简单说,它的作用就是用来选择颜色。MFC中提供了CColorDialog类封装了颜色对话框的所有操作,我们可以通过它显示颜色对话框,并获取颜色对话框中选择的颜色。颜色对话框跟字体对话框一样,也是一种模态对话框。原创 2016-11-30 09:14:44 · 2717 阅读 · 1 评论 -
VS2013/MFC编程入门之二十六(常用控件:图片控件Picture Control)
本节主要讲一种简单实用的控件,图片控件Picture Control。通过使用图片控件我们可以在界面某个位置显示图片以美化界面。 图片控件简介 图片控件和前面讲到的静态文本框都是静态文本控件,因此两者的使用方法有很多相同之处,所属类都是CStatic类,有关成员函数已在前面介绍,这里就不重复了。 图片控件静态和动态加载图片原创 2016-12-03 10:05:24 · 21529 阅读 · 13 评论 -
MFC中error RC2108: expected numerical dialog constant错误解决办法
MFC在使用picture console控件之后往往会弹出这个错误:error RC2108: expected numerical dialog constant。此时,双击这个错误,会跳到提示错误的那一行,在那一行中的一串地址前插入:"Static", SS_BITMAP, 如:转载 2016-12-03 10:07:03 · 10660 阅读 · 1 评论 -
VS2013/MFC编程入门之四(MFC消息映射机制概述)
上一讲为大家简单分析了MFC应用程序框架,这一讲是关于MFC消息映射机制的内容。 前面已经说过,Windows应用程序是消息驱动的。在MFC软件开发中,界面操作或者线程之间通信都会经常用到消息,通过对消息的处理实现相应的操作。比较典型的过程是,用户操作窗口,然后有消息产生,送给窗口的消息处理函数处理,对用户的操作做出响应。 什么是消息 窗原创 2016-11-23 11:00:32 · 4576 阅读 · 1 评论 -
VS2013/MFC编程入门之三(MFC应用程序框架分析)
上一讲讲的是VS2013应用程序工程中文件的组成结构。这一节就为大家分析下MFC应用程序框架的运行流程。 一.SDK应用程序与MFC应用程序运行过程的对比 程序运行都要有入口函数,在之前的C++教程中都是main函数,而Windows应用程序的入口函数是WinMain函数,MFC程序也是从WinMain函数开始的。下面就给出用Windows SDK写的“He原创 2016-11-23 10:12:39 · 7567 阅读 · 4 评论 -
VS2013/MFC编程入门之一(利用MFC向导生成单文档应用程序框架)
关于VS2013和MSDN如何安装,网上有很多教程,再次就不在赘述,相信大家都已经安装好了。本次MFC编程全程使用简体中文专业版VS2013 进行操作。这一讲给大家一个简单的例子,演示如何生成单文档应用程序框架。 解决方案与工程 在VS2013的使用介绍中已经讲了解决方案与工程的概念,这里再重提一下。每个应用程序都作为一个工程来处理,它包含了头文件、源文件和资源原创 2016-11-22 22:11:18 · 19643 阅读 · 9 评论 -
VS2013/MFC编程入门之三十三(菜单:菜单及CMenu类的使用)
在上一节中讲的是VS2013的菜单资源,本节主要讲菜单及CMenu类的使用。 CMenu类的主要成员函数 MFC为菜单的操作提供了CMenu类,下面就常用的几个成员函数进行简单的介绍。 BOOL LoadMenu(UINT nIDResource); 加载菜单资源,并将其附加到CMenu对象上。参数nIDResourc原创 2016-12-04 22:36:38 · 8480 阅读 · 3 评论 -
VS2013/MFC编程入门之三十一(常用控件:标签控件Tab Control )
前面两节讲了树形控件Tree Control,本节开始讲解标签控件Tab Control,也可以称为选项卡控件。 标签控件简介 标签控件也比较常见。它可以把多个页面集成到一个窗口中,每个页面对应一个标签,用户点击某个标签时,它对应的页面就会显示。 使用标签控件我们可以同时加载多个有关联的页面,用户只需点击标签即可实现页面切换,方便灵活的进原创 2016-12-03 23:08:10 · 11434 阅读 · 0 评论 -
VS2013/MFC编程入门之二十九(常用控件:树形控件Tree Control 上)
树形控件Tree Control是一种特殊的列表,本节我们开始对树形列表做一下基本介绍,下一节通过实例来进行讲解树形列表的使用。 树形控件简介 树形控件在Windows系统中是很常见的,例如资源管理器左侧的窗口中就有用来显示目录的树形视图。树形视图中以分层结构显示数据,每层的缩进不同,层次越低缩进越多。树形控件的节点一般都由标签和图标两部分组成,图标用来抽象原创 2016-12-03 15:01:54 · 2230 阅读 · 0 评论 -
VS2013/MFC编程入门之二十七(常用控件:列表视图控件List Control 上)
本节为大家详解列表视图控件List Control的使用。 列表视图控件简介 列表视图控件List Control同样比较常见,它能够把任何字符串内容以列表的方式显示出来,这种显示方式的特点是整洁、直观,在实际应用中能为用户带来方便。 列表视图控件是对前面讲到的列表框控件List Box的改进和延伸。列表视图控件的列表项一般有图标(Icon)原创 2016-12-03 10:16:45 · 3828 阅读 · 3 评论 -
VS2013/MFC编程入门之二十八(常用控件:列表视图控件List Control 下)
上一节是关于列表视图控件List Control的上半部分,简单介绍了列表视图控件,其通知消息的处理和有关结构体的定义。本节继续讲解下半部分,包括列表视图控件的创建、CListCtrl类的主要成员函数和CListCtrl类应用实例。 列表视图控件的创建 MFC同样为列表视图控件的操作提供了CListCtrl类。 如果我们不想在对话框模板中原创 2016-12-03 10:47:20 · 8736 阅读 · 1 评论