C++ 对象的内存布局
分类标签: C++ VC++
对象的影响因素 简而言之,我们一个类可能会有如下的影响因素: 1)成员变量 2)虚函数(产生虚函数表) 3)单一继承(只继承于一个类) 4)多重继承(继承多个类) 5)重复继承(继承的多个父类中其父类有相同的超类) 6)虚拟继承(使用virtual方式继承,为了保证继承后父类的内存布局只会存在一份) 上述的东西通常是C++这门语言在语义方面对对象内部的影响因素阅读全文 »
MFC用串行化实现文档存储和读取功能
分类标签: MFC VC++
在面向对象的程序设计中,一般都是用二进制文件来保存文档资料。在VC++中控制和使用文件流的方法很多,MFC程序设计中常用的有两种方法:用CFile对象存储和读取文件;利用串行化存取文件。其中用CFile对象直接存储文档,存在着以下两个问题:一是过程繁琐,例如绘图系统中常存在大量的数据对象(直线对象、矩形对象等);另一个问题是功能受限,VC++为了程序集成的需要,设汁成了复合文档...阅读全文 »
MFC Ribbon界面设计
分类标签: VS2010 MFC VC++
Ribbon是类似于office2007样式的界面,它替代了传统的MFC程序里的菜单和工具栏 MFC默认生成的Ribbon功能少,需要我们自己添加一些控件和图片等元素使界面好看 看下面的一个界面,是VC2010示例里的 看到它与默认Ribbon样式的区别: 工具自己设计,MFC提供的Ribbon控件基本都用上了;图片(位图)也是原资源没有的 那到底怎么实现呢?阅读全文 »
MFC工具栏的创建、设计与使用实例
分类标签: C++ VC++ MFC
本文通过实例说明MFC工具栏的创建、设计和使用方法,包括三个demo。 demo1:创建一个工具栏 demo2:停靠和浮动工具栏 demo3:点击菜单项显示和隐藏工具栏阅读全文 »
自动登录人人网程序的编写
分类标签: C++ VC++ VS2010 MFC
人人网需要天天登陆,才能获得持续的登录奖励,但是每次都登录啥的,感觉非常没意思,于是派生出用软件来自动登陆,这样既省时省事,又能获得奖励。 登录过程非常简单,就是模拟浏览器发送请求,如果你需要更新状态,需要从返回的请求包中提取出get_check,然后在发送的时候使用这个值就ok了。阅读全文 »
VC++操作Word之简明入门教程
分类标签: VC++ 编程入门
本文跟大家分享的是VC操作Word的东东,使用的是Office2000,工程类型是MFC的对话框。 先看看需要使用到的东东: 1、View->ClassWizard->Automation->Add Class From Library:定位到你安装Office的目录找到MSWord9.Olb;2、打开后把所有的类都选中倒入到你的工程(反正也是搞一回彻底一点:P) ;3、在你的对阅读全文 »
VC++文件操作之最全篇
分类标签: VC++ C++ MFC
一、剖析VC中的文件操作 各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。阅读全文 »
VC++串口通信编程详解
分类标签: VC++ Windows
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令阅读全文 »
DLL动态链接库编程入门之五:MFC扩展DLL
分类标签: VC++ 编程入门 Windows
MFC扩展DLL的内涵为MFC的扩展,用户使用MFC扩展DLL就像使用MFC本身的DLL一样。除了可以在MFC扩展DLL的内部使用MFC以外,MFC扩展DLL与应用程序的接口部分也可以是MFC。我们一般使用MFC扩展DLL来包含一些MFC的增强功能,譬如扩展MFC的CStatic、CButton等类使之具备更强大的能力。阅读全文 »
DLL动态链接库编程入门之四:MFC规则DLL(下)
分类标签: VC++ 编程入门 Windows
我们照样可以在EXE程序中隐式调用MFC规则DLL,只需要将DLL工程生成的.lib文件和.dll文件拷入当前工程所在的目录,并在RegularDllCallDlg.cpp文件(上一节中图5所示对话框类的实现文件)的顶部添加:... 共享MFC DLL的规则DLL的模块切换 应用程序进程本身及其调用的每个DLL模块都具有一个全局唯一的HINSTANCE句柄,它们代表了DLL或EXE模块在进程虚拟空阅读全文 »
DLL动态链接库编程入门之三:MFC规则DLL(上)
分类标签: VC++ 编程入门 Windows
上一节中讲解了非MFC DLL,本节将介绍如何创建MFC规则DLL及使用MFC规则DLL的方法。 一、MFC规则DLL概述 MFC规则DLL的概念体现在两方面: (1)它是MFC的 “是MFC的”意味着可以在这种DLL的内部使用MFC; (2)它是规则的 “是规则的”意味着它不同于MFC扩展DLL,在MFC规则DLL的内部虽然可以使用MFC...阅读全文 »
DLL动态链接库编程入门之二:非MFC DLL
分类标签: VC++ 编程入门 Windows
上一节中讲解的是DLL概论及其调试和查看,本节将为大家详解非MFC DLL的相关内容。 1、一个简单的DLL 上一节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。 如图1,在VC++中new一个Win32 Dynamic-Link Library工程dllTest。注意不要选择MFC AppWizard(dll)阅读全文 »
DLL动态链接库编程入门之一:DLL概论及其调试和查看
分类标签: VC++ Windows 编程入门
比较大的应用程序都是由很多模块组成的,这些模块彼此协作,以完成整个软件系统的工作。其中可能存在一些模块的功能较为通用,在构造其他软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE 文件中,会产生一些问题。一是增加了应用程序的大小,这样会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间...阅读全文 »
VS2010功能使用体验篇
分类标签: VS2010 VC++
鸡啄米在之前的教程中已经详细讲解了VS2010的用法,但都是基于C++的,本文则是一位Web开发者分享的VS2010的使用体验,介绍了VS2010与以前版本的一些不同之处,主要是工具的使用方面。以下是原文。 首先来看下创建项目的对话框,在左边的Installed Templates里多出了几个选项,如Cloud Service、F#等。点击左边栏中的C#...阅读全文 »
C++编程开发学习的50条建议
分类标签: C++ VC++ 编程入门
每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少。本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路。下面列出这50条建议:...阅读全文 »
MFC六大核心机制之五、六:消息映射和命令传递
分类标签: MFC VC++
作为C++程序员,我们总是希望自己程序的所有代码都是自己写出来的,如果使用了其他的一些库,也总是千方百计想弄清楚其中的类和函数的原理,否则就会感觉不踏实。所以,我们对于在进行MFC视窗程序设计时经常要用到的消息机制也不满足于会使用,而是希望能理解个中道理。本文就为大家剖析MFC消息映射和命令传递的原理。阅读全文 »
MFC六大核心机制之四:永久保存(串行化)
分类标签: MFC VC++
永久保存(串行化)是MFC的重要内容,可以用一句简明直白的话来形容其重要性:弄懂它以后,你就越来越像个程序员了! 如果我们的程序不需要永久保存,那几乎可以肯定是一个小玩儿。那怕我们的记事本、画图等小程序,也需要保存才有真正的意义。阅读全文 »
MFC六大核心机制之三:动态创建
分类标签: MFC VC++
MFC中很多地方都使用了动态创建技术。动态创建就是在程序运行时创建指定类的对象。例如MFC的单文档程序中,文档模板类的对象就动态创建了框架窗口对象、文档对象和视图对象。动态创建技术对于希望了解MFC底层运行机制的朋友来说,非常有必要弄清楚。 不需要手动实例化对象的疑惑 MFC编程入门时,一般人都会有这样的疑惑...阅读全文 »
MFC六大核心机制之二:运行时类型识别(RTTI)
分类标签: MFC VC++
上一节讲的是MFC六大核心机制之一:MFC程序的初始化,本节继续讲解MFC六大核心机制之二:运行时类型识别(RTTI)。 typeid运算子 运行时类型识别(RTTI)即是程序执行过程中知道某个对象属于某个类,我们平时用C++编程接触的RTTI一般是编译器的RTTI,即是在新版本的VC++编译器里面选用“使能RTTI”,然后载入typeinfo.h文件,就可以使用一个叫ty阅读全文 »
MFC六大核心机制之一:MFC程序的初始化
分类标签: MFC VC++
很多做软件开发的人都有一种对事情刨根问底的精神,例如我们一直在用的MFC,很方便,不用学太多原理性的知识就可以做出各种窗口程序,但喜欢钻研的朋友肯定想知道,到底微软帮我们做了些什么,让我们在它的框架下可以简单的写程序。本文开始就跟大家分享一位同行前辈写的MFC核心机制分析(稍作整理),语言朴实易懂,在读完此深入浅析的剖析系列后,相信留给大家的是对MFC运行机制的深入理解。阅读全文 »