09 2018 档案

摘要:在面向对象的程序设计中,一般都是用二进制文件来保存文档资料。在VC++中控制和使用文件流的方法很多,MFC程序设计中常用的有两种方法:用CFile对象存储和读取文件;利用串行化存取文件。其中用CFile对象直接存储文档,存在着以下两个问题:一是过程繁琐,例如绘图系统中常存在大量的数据对象(直线对象、 阅读全文
posted @ 2018-09-15 10:24 gd_沐辰 阅读(831) 评论(0) 推荐(0) 编辑
摘要:CFile类提供了对文件进行打开,关闭,读,写,删除,重命名以及获取文件信息等文件操作的基本功能,足以处理任意类型的文件操作。 一个读写文件的例子: 文件I/O 虽然使用CArchive类内建的序列化功能是保存和加载持久性数据的便捷方式,但有时在程序中需要对文件处理过程拥有更多的控制权,对于这种文件 阅读全文
posted @ 2018-09-15 10:23 gd_沐辰 阅读(1754) 评论(0) 推荐(0) 编辑
摘要:Ribbon是类似于office2007样式的界面,它替代了传统的MFC程序里的菜单和工具栏 MFC默认生成的Ribbon功能少,需要我们自己添加一些控件和图片等元素使界面好看 看下面的一个界面,是VC2010示例里的 看到它与默认Ribbon样式的区别: 工具自己设计,MFC提供的Ribbon控件 阅读全文
posted @ 2018-09-15 10:23 gd_沐辰 阅读(773) 评论(0) 推荐(0) 编辑
摘要:本文通过实例说明MFC工具栏的创建、设计和使用方法,包括三个demo。 demo1:创建一个工具栏 C++代码 //摘抄自MSDN demo1 (创建一个工具栏) 1.Create a toolbar resource. /*可以先插入一个新的工具栏资源 添加分隔符,将按钮向右拖动一小下 删除按钮, 阅读全文
posted @ 2018-09-15 10:22 gd_沐辰 阅读(820) 评论(0) 推荐(0) 编辑
摘要:一、剖析VC中的文件操作 各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难 阅读全文
posted @ 2018-09-15 10:21 gd_沐辰 阅读(457) 评论(0) 推荐(0) 编辑
摘要:作为C++程序员,我们总是希望自己程序的所有代码都是自己写出来的,如果使用了其他的一些库,也总是千方百计想弄清楚其中的类和函数的原理,否则就会感觉不踏实。所以,我们对于在进行MFC视窗程序设计时经常要用到的消息机制也不满足于会使用,而是希望能理解个中道理。本文就为大家剖析MFC消息映射和命令传递的原 阅读全文
posted @ 2018-09-15 10:19 gd_沐辰 阅读(377) 评论(0) 推荐(0) 编辑
摘要:MFC中很多地方都使用了动态创建技术。动态创建就是在程序运行时创建指定类的对象。例如MFC的单文档程序中,文档模板类的对象就动态创建了框架窗口对象、文档对象和视图对象。动态创建技术对于希望了解MFC底层运行机制的朋友来说,非常有必要弄清楚。 不需要手动实例化对象的疑惑 MFC编程入门时,一般人都会有 阅读全文
posted @ 2018-09-15 10:18 gd_沐辰 阅读(1433) 评论(0) 推荐(0) 编辑
摘要:永久保存(串行化)是MFC的重要内容,可以用一句简明直白的话来形容其重要性:弄懂它以后,你就越来越像个程序员了! 如果我们的程序不需要永久保存,那几乎可以肯定是一个小玩儿。那怕我们的记事本、画图等小程序,也需要保存才有真正的意义。 对于MFC的很多地方我不甚满意,总觉得它喜欢拿一组低能而神秘的宏来故 阅读全文
posted @ 2018-09-15 10:18 gd_沐辰 阅读(366) 评论(0) 推荐(0) 编辑
摘要:上一节讲的是MFC六大核心机制之一:MFC程序的初始化,本节继续讲解MFC六大核心机制之二:运行时类型识别(RTTI)。 typeid运算子 运行时类型识别(RTTI)即是程序执行过程中知道某个对象属于某个类,我们平时用C++编程接触的RTTI一般是编译器的RTTI,即是在新版本的VC++编译器里面 阅读全文
posted @ 2018-09-15 10:14 gd_沐辰 阅读(482) 评论(0) 推荐(0) 编辑
摘要:很多做软件开发的人都有一种对事情刨根问底的精神,例如我们一直在用的MFC,很方便,不用学太多原理性的知识就可以做出各种窗口程序,但喜欢钻研的朋友肯定想知道,到底微软帮我们做了些什么,让我们在它的框架下可以简单的写程序。本文开始就跟大家分享一位同行前辈写的MFC核心机制分析(稍作整理),语言朴实易懂, 阅读全文
posted @ 2018-09-15 10:13 gd_沐辰 阅读(617) 评论(0) 推荐(0) 编辑
摘要:本文简要讲解在VS2010中怎样实现自定义MFC控件的知识,以下是分步骤说明。 一、自定义一个空白控件 1、先创建一个MFC工程 NEW Project-->MFC-->MFC Application-->name: “CustomCtr”-->Application Type选择“Dialog b 阅读全文
posted @ 2018-09-15 10:12 gd_沐辰 阅读(1394) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲了为Ribbon Bar添加控件的方法。本节教程鸡啄米将继续完善前面的实例,讲解一些稍复杂的控件的添加方法,及如何为它们添加消息处理函数。 一、为Ribbon Bar添加更多Ribbon控件 鸡啄米将在上一节实例的基础上,继续添加下拉菜单、Check Box、Combo Box等Ri 阅读全文
posted @ 2018-09-15 10:11 gd_沐辰 阅读(338) 评论(0) 推荐(0) 编辑
摘要:前面一节中鸡啄米为大家简单介绍了如何创建Ribbon样式的应用程序框架,本节教程就来初步讲讲怎样为Ribbon Bar添加Ribbon控件。 VS2010为Ribbon界面开发提供了Ribbon Designer,通过它我们可以为Ribbon Bar添加各种Ribbon控件、设置控件属性和进行界面布 阅读全文
posted @ 2018-09-15 10:11 gd_沐辰 阅读(344) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲了GDI对象之画刷CBrush,至此图形图像的入门知识就讲完了。从本节开始鸡啄米将为大家带来Ribbon界面开发的有关内容。本文先来说说如何创建Ribbon样式的应用程序框架。 Ribbon界面就是微软从Office2007开始引入的一种为了使应用程序的功能更加易于发现和使用、减少了 阅读全文
posted @ 2018-09-15 10:10 gd_沐辰 阅读(387) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen。 GDI对象 在MFC中,CGdiObject类是GDI对象的基类,通过查阅MSDN我们可以看到,CGdiObject类有六个直接的派生类,GDI对象主要也是这六个,分别是:CBitmap、CBrush、CFont 阅读全文
posted @ 2018-09-15 10:09 gd_沐辰 阅读(390) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米主要讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush。 鸡啄米依然是通过实例的方式来说明画刷的用法。此实例要实现的功能是,对话框上有一个按钮控件和一个图片控件,点击按钮弹出颜色对话框,然后在颜色对话框中选择颜色并点击“确定”后,图片控 阅读全文
posted @ 2018-09-15 10:09 gd_沐辰 阅读(294) 评论(0) 推荐(0) 编辑
摘要:鸡啄米在上一节中讲了CFont字体类,本节主要讲解文本输出的方法和实例。 文本输出过程 在文本输出到设备以前,我们需要确定字体、字体颜色和输出的文本内容等信息。Windows窗口的客户区由应用程序管理,所以我们还要在应用程序中控制输出文本的格式,例如后续字符的位置、换行等格式。 由此,文本的输出过程 阅读全文
posted @ 2018-09-15 10:08 gd_沐辰 阅读(443) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲了文本输出的知识,本节的主要内容是CDC类及其屏幕绘图函数。 CDC类简介 CDC类是一个设备上下文类。 CDC类提供了用来处理显示器或打印机等设备上下文的成员函数,还有处理与窗口客户区关联的显示上下文的成员函数。使用CDC的成员函数可以进行所有的绘图操作,包括处理绘图工具、GDI对 阅读全文
posted @ 2018-09-15 10:08 gd_沐辰 阅读(518) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲了MFC异常处理,本节的主要内容是字体CFont类。 字体简介 GDI(Graphics Device Interface),图形设备接口,是Windows提供的一些函数和结构,用于在显示器和打印机上显示图形。我们在MFC开发中经常会使用GDI来输出文本或图形图像(当然现在也有了GD 阅读全文
posted @ 2018-09-15 10:07 gd_沐辰 阅读(536) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲了定时器Timer的用法,本节介绍下文件操作类CFile类的使用。 CFile类概述 如果你学过C语言,应该知道文件操作使用的是文件指针,通过文件指针实现对它指向的文件的各种操作。这些文件操作函数中有的最终还是调用了操作系统的API函数或者处理过程与之类似,例如在Windows系统中 阅读全文
posted @ 2018-09-15 10:06 gd_沐辰 阅读(388) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲了CFile文件操作类,本节主要来说说MFC异常处理。 在鸡啄米C++编程入门系列的最后一节鸡啄米:C++编程入门系列之五十(异常处理)中,鸡啄米讲了C++标准异常的处理机制,如果你还没有学过这方面内容,可以到那节教程中去学习下。 MFC异常处理与C++标准异常处理是类似的,只是它在 阅读全文
posted @ 2018-09-15 10:06 gd_沐辰 阅读(242) 评论(0) 推荐(0) 编辑
摘要:前面一节鸡啄米讲了CTime类和CTimeSpan类的使用,本节继续讲与时间有关的定时器。定时器并不是一个类,主要考虑到,提起时间的话就不能不说定时器,所以就把它放到CTime和CTimeSpan之后讲解。 定时器简介 定时器,可以帮助开发者或者用户定时完成某项任务。在使用定时器时,我们可以给系统传 阅读全文
posted @ 2018-09-15 10:05 gd_沐辰 阅读(417) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲了MFC常用类CString类的用法,本节继续讲另外两个MFC常用类-日期和时间类CTime类和CTimeSpan类。 日期和时间类简介 CTime类的对象表示的时间是基于格林威治标准时间(GMT)的。CTimeSpan类的对象表示的是时间间隔。 CTime类和CTimeSpan类一 阅读全文
posted @ 2018-09-15 10:04 gd_沐辰 阅读(258) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲了文档、视图和框架结构中各对象之间的关系,本节主要讲讲在MFC中如何分割窗口。 分割窗口概述 分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或者是同一类型的视图,或者是不同类型的视图。 MFC分割窗口的方式有两种,动态分割和静态分割。 动态分割窗口通常用 阅读全文
posted @ 2018-09-15 10:03 gd_沐辰 阅读(251) 评论(0) 推荐(0) 编辑
摘要:上一节鸡啄米讲了分割窗口的有关知识,本节开始讲解MFC的一些常用类,先来说说CString类。 CString类简介 CString类作为MFC的常用类,当之无愧。可以这样说,只要是从事MFC开发,基本都会遇到使用CString类的场合。因为字符串的使用比较普遍,而CString类又提供了对字符串的 阅读全文
posted @ 2018-09-15 10:03 gd_沐辰 阅读(268) 评论(0) 推荐(0) 编辑
摘要:前面一节中鸡啄米进行了文档、视图和框架的概述,本节主要讲解文档、视图、框架结构中各对象之间的关系。 各个对象之间的关系 文档、视图、框架结构中涉及到的对象主要有:应用程序对象、文档模板对象、文档对象、视图对象和框架窗口对象等。根据上一节的概述,大家对它们的概念已经有所了解了,下面就对它们之间的关系进 阅读全文
posted @ 2018-09-15 10:02 gd_沐辰 阅读(243) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲了工具栏的创建、停靠与使用,本节来讲解状态栏的知识。 状态栏简介 状态栏相信大家在很多窗口中都能见到,它总是用来显示各种状态。状态栏实际上也是一个窗口,一般分为几个窗格,每个窗格分别用来显示不同的信息和状态等,如菜单项和工具栏按钮的提示信息。 用MFC向导生成的单文档或多文档程序都会 阅读全文
posted @ 2018-09-15 10:01 gd_沐辰 阅读(298) 评论(0) 推荐(0) 编辑
摘要:前面几节讲了菜单、工具栏和状态栏的使用,鸡啄米本节开始将为大家讲解文档、视图和框架的知识。 文档、视图和框架简介 在VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)创建的单文档工程Example34中,我们可以看到MFC向导自动为我们生成了CExample34Doc类、CExa 阅读全文
posted @ 2018-09-15 10:01 gd_沐辰 阅读(260) 评论(0) 推荐(0) 编辑
摘要:鸡啄米在上一节教程中讲了工具栏资源及CToolBar类,本节继续讲解工具栏的相关知识,主要内容包括工具栏的创建、停靠与使用。 工具栏的使用 上一节中鸡啄米提到过,一般情况下工具栏中的按钮在菜单栏中都有对应的菜单项,两者实现的功能相同,要想实现这种效果,只需要将工具栏按钮的ID与对应的菜单栏中菜单项的 阅读全文
posted @ 2018-09-15 10:00 gd_沐辰 阅读(435) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲了菜单及CMenu类的使用,这一节讲与菜单有密切联系的工具栏。 工具栏简介 工具栏一般位于主框架窗口的上部,菜单栏的下方,由一些带图片的按钮组成。当用户用鼠标单击工具栏上某个按钮时,程序会执行相应的操作,如果鼠标没有点击,只是停留在某个按钮上一会后,会弹出一个小窗口显示提示信息。 一 阅读全文
posted @ 2018-09-15 09:59 gd_沐辰 阅读(337) 评论(0) 推荐(0) 编辑
摘要:上一节讲了标签控件Tab Control以后,常用控件的内容就全部讲完了,当然并没有包括所有控件,主要是一些很常用很重要的控件。本节开始鸡啄米将为大家讲解菜单的概念及使用。 菜单简介 菜单在界面设计中是经常使用的一种元素,包括Windows系统中的窗口、智能终端设备的应用界面等都会经常见到菜单的身影 阅读全文
posted @ 2018-09-15 09:58 gd_沐辰 阅读(348) 评论(0) 推荐(0) 编辑
摘要:鸡啄米在上一节中讲的是VS2010的菜单资源,本节主要讲菜单及CMenu类的使用。 CMenu类的主要成员函数 MFC为菜单的操作提供了CMenu类,下面鸡啄米就常用的几个成员函数进行简单的介绍。 BOOL LoadMenu(UINT nIDResource); 加载菜单资源,并将其附加到CMenu 阅读全文
posted @ 2018-09-15 09:58 gd_沐辰 阅读(347) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲了标签控件知识的上半部分,本节继续讲下半部分。 标签控件的创建 MFC为标签控件的操作提供了CTabCtrl类。 与之前的控件类似,创建标签控件可以在对话框模板中直接拖入Tab Control,也可以使用CTabCtrl类的Create成员函数创建。Create函数的原型如下: vi 阅读全文
posted @ 2018-09-15 09:57 gd_沐辰 阅读(313) 评论(0) 推荐(0) 编辑
摘要:前面一节讲了树形控件Tree Control的简介、通知消息以及相关数据结构,本节继续讲下半部分,包括树形控件的创建、CTreeCtrl类的主要成员函数和应用实例。 树形控件的创建 MFC为树形控件提供了CTreeCtrl类,它封装了树形控件的所有操作。 树形控件的创建也是有两种方式,一种是在对话框 阅读全文
posted @ 2018-09-15 09:56 gd_沐辰 阅读(304) 评论(0) 推荐(0) 编辑
摘要:前面两节鸡啄米讲了树形控件Tree Control,本节开始讲解标签控件Tab Control,也可以称为选项卡控件。 标签控件简介 标签控件也比较常见。它可以把多个页面集成到一个窗口中,每个页面对应一个标签,用户点击某个标签时,它对应的页面就会显示。下图是Windows系统配置中标签控件的例子: 阅读全文
posted @ 2018-09-15 09:56 gd_沐辰 阅读(354) 评论(0) 推荐(0) 编辑
摘要:前面两节为大家讲了列表视图控件List Control,这一节开始介绍一种特殊的列表--树形控件Tree Control。 树形控件简介 树形控件在Windows系统中是很常见的,例如资源管理器左侧的窗口中就有用来显示目录的树形视图。树形视图中以分层结构显示数据,每层的缩进不同,层次越低缩进越多。树 阅读全文
posted @ 2018-09-15 09:55 gd_沐辰 阅读(366) 评论(0) 推荐(0) 编辑
摘要:上一节是关于列表视图控件List Control的上半部分,简单介绍了列表视图控件,其通知消息的处理和有关结构体的定义。本节继续讲解下半部分,包括列表视图控件的创建、CListCtrl类的主要成员函数和CListCtrl类应用实例。 列表视图控件的创建 MFC同样为列表视图控件的操作提供了CList 阅读全文
posted @ 2018-09-15 09:54 gd_沐辰 阅读(406) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲的是滚动条控件,本节主要讲一种简单实用的控件,图片控件Picture Control。我们可以在界面某个位置放入图片控件,显示图片以美化界面。 图片控件简介 图片控件和前面讲到的静态文本框都是静态文本控件,因此两者的使用方法有很多相同之处,所属类都是CStatic类,有关成员函数已在 阅读全文
posted @ 2018-09-15 09:53 gd_沐辰 阅读(271) 评论(0) 推荐(0) 编辑
摘要:前面一节中,鸡啄米讲了图片控件Picture Control,本节为大家详解列表视图控件List Control的使用。 列表视图控件简介 列表视图控件List Control同样比较常见,它能够把任何字符串内容以列表的方式显示出来,这种显示方式的特点是整洁、直观,在实际应用中能为用户带来方便。 列 阅读全文
posted @ 2018-09-15 09:53 gd_沐辰 阅读(301) 评论(0) 推荐(0) 编辑
摘要:回顾上一节,鸡啄米讲的是组合框控件Combo Box的使用。本节详解滚动条控件Scroll Bar的相关内容。 滚动条控件简介 滚动条大家也很熟悉了,Windows窗口中很多都有滚动条。前面讲的列表框和组合框设置了相应属性后,如果列表项显示不下也会出现滚动条。滚动条分为水平滚动条(Horizonta 阅读全文
posted @ 2018-09-15 09:52 gd_沐辰 阅读(437) 评论(0) 推荐(0) 编辑
摘要:上一节鸡啄米讲了列表框控件ListBox的使用,本节主要讲解组合框控件Combo Box。组合框同样相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是组合框控件。它为我们的日常操作提供了很多方便。 组合框控件简介 组合框其实就是把一个编辑框和一个列表 阅读全文
posted @ 2018-09-15 09:51 gd_沐辰 阅读(502) 评论(0) 推荐(0) 编辑
摘要:前面两节讲了比较常用的按钮控件,并通过按钮控件实例说明了具体用法。本文要讲的是列表框控件(ListBox)及其使用实例。 列表框控件简介 列表框给出了一个选项清单,允许用户从中进行单项或多项选择,被选中的项会高亮显示。列表框可分为单选列表框和多选列表框,顾名思义,单选列表框中一次只能选择一个列表项, 阅读全文
posted @ 2018-09-15 09:50 gd_沐辰 阅读(626) 评论(0) 推荐(0) 编辑
摘要:言归正传,鸡啄米上一节中讲了编辑框的用法,本节继续讲解常用控件--按钮控件的使用。 按钮控件简介 按钮控件包括命令按钮(Button)、单选按钮(Radio Button)和复选框(Check Box)等。命令按钮就是我们前面多次提到的狭义的按钮控件,用来响应用户的鼠标单击操作,进行相应的处理,它可 阅读全文
posted @ 2018-09-15 09:49 gd_沐辰 阅读(522) 评论(0) 推荐(0) 编辑
摘要:上一节VS2010/MFC编程入门教程中鸡啄米讲了按钮控件Button、Radio Button和Check Box的基本用法,本节就继续讲按钮控件的内容,通过一个实例让大家更清楚按钮控件在实际的软件开发中如何使用。 因为Button控件在前面的例子中涉及到了,比较简单,本文就不作深入分析了,而是重 阅读全文
posted @ 2018-09-15 09:49 gd_沐辰 阅读(381) 评论(0) 推荐(0) 编辑
摘要:鸡啄米上一节讲了静态文本框,本节要讲的编辑框(Edit Control)同样是一种很常用的控件,我们可以在编辑框中输入并编辑文本。在前面加法计算器的例子中已经演示了编辑框的基本应用。下面具体讲解编辑框的使用。 编辑框的通知消息 编辑框发生某些事件时会向父窗口发送通知消息。在对话框模板中的编辑框上点右 阅读全文
posted @ 2018-09-15 09:48 gd_沐辰 阅读(493) 评论(0) 推荐(0) 编辑
摘要:上一节鸡啄米讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了。从本节开始鸡啄米将讲解各种常用控件的用法。常用控件主要包括:静态文本框、编辑框、单选按钮、复选框、分组框、列表框、组合框、图片控件、列表控件、树形控件和进度条控件等等。本节教程先来讲解静态文本框的使用。 控件的通知消 阅读全文
posted @ 2018-09-15 09:47 gd_沐辰 阅读(378) 评论(0) 推荐(0) 编辑
摘要:鸡啄米在上一节中为大家讲解了字体对话框的使用方法,熟悉了字体对话框,本节继续讲另一种通用对话框--颜色对话框。 颜色对话框大家肯定也不陌生,我们可以打开它选择需要的颜色,简单说,它的作用就是用来选择颜色。MFC中提供了CColorDialog类封装了颜色对话框的所有操作,我们可以通过它显示颜色对话框 阅读全文
posted @ 2018-09-15 09:46 gd_沐辰 阅读(182) 评论(0) 推荐(0) 编辑
摘要:鸡啄米在上一节为大家讲解了文件对话框的使用,本节则主要介绍字体对话框如何应用。 字体对话框的作用是用来选择字体。我们也经常能够见到。MFC使用CFontDialog类封装了字体对话框的所有操作。字体对话框也是一种模态对话框。 CFontDialog类的构造函数 我们先来了解CFontDialog类。 阅读全文
posted @ 2018-09-15 09:46 gd_沐辰 阅读(214) 评论(0) 推荐(0) 编辑
摘要:上一讲鸡啄米介绍的是消息对话框,本节讲解文件对话框。文件对话框也是很常用的一类对话框。 文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框。例如,很多编辑软件像记事本等都有“打开”选项,选择“打开”后会弹出一个对话框,让我们选择要打 阅读全文
posted @ 2018-09-15 09:45 gd_沐辰 阅读(252) 评论(0) 推荐(0) 编辑
摘要:前面几节鸡啄米讲了属性页对话框,我们可以根据所讲内容方便的建立自己的属性页对话框。本节讲解Windows系统中最常用最简单的一类对话框--消息对话框。 我们在使用Windows系统的过程中经常会见到消息对话框,提示我们有异常发生或提出询问等。因为在软件开发中经常用到消息对话框,所以MFC提供了两个函 阅读全文
posted @ 2018-09-15 09:43 gd_沐辰 阅读(194) 评论(0) 推荐(0) 编辑
摘要:属性页对话框包括向导对话框和一般属性页对话框两类,上一节鸡啄米讲了如何创建并显示向导对话框,本节将继续介绍一般属性页对话框的创建和显示。 实际上,一般属性页对话框的创建和显示过程和向导对话框是很类似的。鸡啄米将上一节中的向导对话框进行少量修改,使其成为一般属性页对话框。 一般属性页对话框的创建步骤: 阅读全文
posted @ 2018-09-15 09:42 gd_沐辰 阅读(245) 评论(0) 推荐(0) 编辑
摘要:上一讲鸡啄米讲了属性页对话框和相关的两个类CPropertyPage类和CPropertySheet类,对使用属性页对话框做准备。本节将为大家演示如何创建向导对话框。 仍然以前面的“加法计算器”的例子为基础,在其中加入向导对话框,我们可以用它来说明加法计算器的使用方法,一步一步引导用户操作,这也是比 阅读全文
posted @ 2018-09-15 09:41 gd_沐辰 阅读(283) 评论(0) 推荐(0) 编辑
摘要:上一节鸡啄米讲了模态对话框及其弹出过程,本节接着讲另一种对话框--非模态对话框的创建及显示。 鸡啄米已经说过,非模态对话框显示后,程序其他窗口仍能正常运行,可以响应用户输入,还可以相互切换。鸡啄米会将上一讲中创建的Tip模态对话框改为非模态对话框,让大家看下效果。 非模态对话框的对话框资源和对话框类 阅读全文
posted @ 2018-09-15 09:40 gd_沐辰 阅读(238) 评论(0) 推荐(0) 编辑
摘要:前面讲了模态对话框和非模态对话框,本节开始鸡啄米讲一种特殊的对话框--属性页对话框。另外,本套教程所讲大部分对VC++各个版本均可适用或者稍作修改即可,但考虑到终究还是基于VS2010版本的,所以将《VC++/MFC编程入门》改为《VS2010/MFC编程入门》。 属性页对话框的分类 属性页对话框想 阅读全文
posted @ 2018-09-15 09:40 gd_沐辰 阅读(263) 评论(0) 推荐(0) 编辑
摘要:加法计算器对话框程序大家照着做一遍后,相信对基于对话框的程序有些了解了,有个好的开始对于以后的学习大有裨益。趁热打铁,鸡啄米这一节讲讲什么是模态对话框和非模态对话框,以及模态对话框怎样弹出。 一.模态对话框和非模态对话框 Windows对话框分为两类:模态对话框和非模态对话框。 模态对话框是这样的对 阅读全文
posted @ 2018-09-15 09:39 gd_沐辰 阅读(280) 评论(0) 推荐(0) 编辑
摘要:前面几节鸡啄米为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整。 上一讲为“计算”按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法运算。但是还有个遗留的小问题,就是对话框控件的Tab顺序问题。 运行加法计算器程序,显示对话框后不进行任何操作,直接按回车 阅读全文
posted @ 2018-09-15 09:38 gd_沐辰 阅读(210) 评论(0) 推荐(0) 编辑
摘要:前两讲中鸡啄米为大家讲解了如何创建对话框资源。创建好对话框资源后要做的就是生成对话框类了。鸡啄米再声明下,生成对话框类主要包括新建对话框类、添加控件变量和控件的消息处理函数等。 因为鸡啄米给大家的例程Addition是基于对话框的程序,所以程序自动创建了对话框模板IDD_ADDITION_DIALO 阅读全文
posted @ 2018-09-15 09:37 gd_沐辰 阅读(363) 评论(0) 推荐(0) 编辑
摘要:创建对话框类和添加控件变量在上一讲中已经讲过,这一讲的主要内容是如何为控件添加消息处理函数。 MFC为对话框和控件等定义了诸多消息,我们对它们操作时会触发消息,这些消息最终由消息处理函数处理。比如我们点击按钮时就会产生BN_CLICKED消息,修改编辑框内容时会产生EN_CHANGE消息等。一般为了 阅读全文
posted @ 2018-09-15 09:37 gd_沐辰 阅读(324) 评论(0) 推荐(0) 编辑
摘要:创建对话框资源需要创建对话框模板、修改对话框属性、为对话框添加各种控件等步骤,前面一讲中鸡啄米已经讲了创建对话框模板和修改对话框属性,本节继续讲如何为对话框添加控件。 上一讲中鸡啄米创建了一个名为“Addition”的工程,目的是生成一个实现加法运算的应用程序。实现加法计算有几个必要的因素:被加数、 阅读全文
posted @ 2018-09-15 09:36 gd_沐辰 阅读(327) 评论(0) 推荐(0) 编辑
摘要:鸡啄米在上一讲中介绍了MFC的消息映射机制,属于原理方面的知识。对于VC++编程入门学习者来说可能有些抽象,鸡啄米会把消息映射的知识渗透到后面的教程中。本节开始为大家讲解偏应用的知识-创建对话框。 对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,360安全卫士的主界面其实就是个 阅读全文
posted @ 2018-09-15 09:35 gd_沐辰 阅读(419) 评论(0) 推荐(0) 编辑
摘要:上一讲鸡啄米为大家简单分析了MFC应用程序框架,这一讲是关于MFC消息映射机制的内容。 前面已经说过,Windows应用程序是消息驱动的。在MFC软件开发中,界面操作或者线程之间通信都会经常用到消息,通过对消息的处理实现相应的操作。比较典型的过程是,用户操作窗口,然后有消息产生,送给窗口的消息处理函 阅读全文
posted @ 2018-09-15 09:34 gd_沐辰 阅读(203) 评论(0) 推荐(0) 编辑
摘要:上一讲鸡啄米讲的是VS2010应用程序工程中文件的组成结构,可能大家对工程的运行原理还是很模糊,理不出头绪,毕竟跟C++编程入门系列中的例程差别太大。这一节鸡啄米就为大家分析下MFC应用程序框架的运行流程。 一.SDK应用程序与MFC应用程序运行过程的对比 程序运行都要有入口函数,在之前的C++教程 阅读全文
posted @ 2018-09-15 09:33 gd_沐辰 阅读(310) 评论(0) 推荐(0) 编辑
摘要:鸡啄米在上一讲中为大家演示了如何利用应用程序向导创建单文档应用程序框架。这一节将以上一讲中生成应用程序HelloWorld的文件结构为例,讲解VS2010应用程序工程中文件的组成结构。 用应用程序向导生成框架程序后,我们可以在之前设置的Location下看到以解决方案名命名的文件夹,此文件夹中包含了 阅读全文
posted @ 2018-09-15 09:32 gd_沐辰 阅读(215) 评论(0) 推荐(0) 编辑
摘要:上一讲中讲了VS2010和MSDN如何安装,相信大家都已经安装好了。这一讲给大家一个简单的例子,演示如何生成单文档应用程序框架。 解决方案与工程 鸡啄米在VS2010的使用介绍中已经讲了解决方案与工程的概念,这里再重提一下。每个应用程序都作为一个工程来处理,它包含了头文件、源文件和资源文件等,这些文 阅读全文
posted @ 2018-09-15 09:31 gd_沐辰 阅读(429) 评论(0) 推荐(0) 编辑
摘要:鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。但是教程中讲的例子只是一个个简单的例程,并没有可视化窗口。鸡啄米在这套VS2010/MFC编程入门教程中将会给大家讲解怎样使用VS2010进行可视化编程,也就是基于窗口的程序。 C++编 阅读全文
posted @ 2018-09-15 09:30 gd_沐辰 阅读(317) 评论(0) 推荐(0) 编辑