随笔分类 -  MFC控件基础

摘要:在面向对象的程序设计中,一般都是用二进制文件来保存文档资料。在VC++中控制和使用文件流的方法很多,MFC程序设计中常用的有两种方法:用CFile对象存储和读取文件;利用串行化存取文件。其中用CFile对象直接存储文档,存在着以下两个问题:一是过程繁琐,例如绘图系统中常存在大量的数据对象(直线对象、 阅读全文
posted @ 2018-09-15 10:24 gd_沐辰 阅读(831) 评论(0) 推荐(0) 编辑
摘要:Ribbon是类似于office2007样式的界面,它替代了传统的MFC程序里的菜单和工具栏 MFC默认生成的Ribbon功能少,需要我们自己添加一些控件和图片等元素使界面好看 看下面的一个界面,是VC2010示例里的 看到它与默认Ribbon样式的区别: 工具自己设计,MFC提供的Ribbon控件 阅读全文
posted @ 2018-09-15 10:23 gd_沐辰 阅读(773) 评论(0) 推荐(0) 编辑
摘要:CFile类提供了对文件进行打开,关闭,读,写,删除,重命名以及获取文件信息等文件操作的基本功能,足以处理任意类型的文件操作。 一个读写文件的例子: 文件I/O 虽然使用CArchive类内建的序列化功能是保存和加载持久性数据的便捷方式,但有时在程序中需要对文件处理过程拥有更多的控制权,对于这种文件 阅读全文
posted @ 2018-09-15 10:23 gd_沐辰 阅读(1754) 评论(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样式的应用程序框架,本节教程就来初步讲讲怎样为Ribbon Bar添加Ribbon控件。 VS2010为Ribbon界面开发提供了Ribbon Designer,通过它我们可以为Ribbon Bar添加各种Ribbon控件、设置控件属性和进行界面布 阅读全文
posted @ 2018-09-15 10:11 gd_沐辰 阅读(344) 评论(0) 推荐(0) 编辑
摘要:上一节中鸡啄米讲了为Ribbon Bar添加控件的方法。本节教程鸡啄米将继续完善前面的实例,讲解一些稍复杂的控件的添加方法,及如何为它们添加消息处理函数。 一、为Ribbon Bar添加更多Ribbon控件 鸡啄米将在上一节实例的基础上,继续添加下拉菜单、Check Box、Combo Box等Ri 阅读全文
posted @ 2018-09-15 10:11 gd_沐辰 阅读(338) 评论(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) 编辑