- 博客(31)
- 资源 (9)
- 收藏
- 关注
转载 回调函数调用类成员函数的方法
利用MFC或者其它的C++应用编写回调函数是非常麻烦的,其根本原因是回调函数是基于C编程的Windows SDK的技术,不是针对C++的,程序员可以将一个C函数直接作为回调函数,但是如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。其错误是普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递一个指向自身的指针给其成员函数从而实现程序函数可
2010-03-17 15:51:00
3428
4
转载 第三章 OpenGL基础图形编程 - Windows NT环境下的OpenGL
3.1、Windows NT下的OpenGL函数 如前面的章节所述,Windows NT下的OpenGL同样包含100多个库函数,这些函数都按一定的格式来命名,即每个函数都以gl开头。Windows NT下的OpenGL除了具有基本的OpenGL函数外,还支持其他四类函数:相应函数 具体说明 OpenGL实用库 43个函数,每个函数以glu开头。 OpenGL辅助库 31个函数,每个函数以aux
2010-03-16 15:49:00
786
转载 第二章 OpenGL基础图形编程 - OpenGL概念建立
2.1、OpenGL基本理解 OpenGL是一个与硬件图形发生器的软件接口,它包括了100多个图形操作函数,开发者可以利用这些函数来构造景物模型、进行三维图形交互软件的开发。正如上一章所述,OpenGL是一个高性能的图形开发软件包。OpenGL支持网络,在网络系统中用户可以在不同的图形终端上运行程序显示图形。OpenGL作为一个与硬件独立的图形接口,它不提供与硬件密切相关的设备操作函数,同时,它
2010-03-16 15:48:00
799
转载 第一章 OpenGL基础图形编程 - OpenGL与3D图形世界
1.1、OpenGL使人们进入三维图形世界 我们生活在一个充满三维物体的三维世界中,为了使计算机能精确地再现这些物体,我们必须能在三维空间描绘这些物体。我们又生活在一个充满信息的世界中,能否尽快地理解并运用这些信息将直接影响事业的成败,所以我们需要用一种最直接的形式来表示这些信息。 最近几年计算机图形学的发展使得三维表现技术得以形成,这些三维表现技术使我们能够再现三维世界中的物体,能够用三维形
2010-03-16 15:47:00
901
原创 windows下安装opengl的glut库
GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。 Windows环境下的GLUT下载地址:(大小约为150k) http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 无法从以上地址下载的话请使用下面的连接: http://upload.programfan.com/upfile/200607
2010-03-16 15:44:00
930
转载 OpenGL入门学习
OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。1、与C语言紧密结合。OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。如果你曾经接触过TC的graphics.h,你会发现,使用OpenGL作图甚至比TC更加简单。2、强大的可移植性。微软的Direct3D虽然也是十分优秀的图形API,但它只用于Win
2010-03-16 15:43:00
828
原创 VC 编译器错误大全
(一)LNK2001错误的原因: 一.由于编码错误导致的LNK2001。 1.不相匹配的程序代码或模块定义(.DEF)文件能导致LNK2001。例如, 如果在C++ 源文件内声明了一变量“var1”,却试图在另一文件内以变量“VAR1”访问该变量,将发生该错误。 2.如果使用的内联函数是在.CPP文件内定义的,而不是在头文件内定义将导致LNK2001错误。 3.调用函数时如果所用的参数类型
2010-03-16 11:20:00
1213
原创 在MFC应用程序中动态嵌入Word文档
Microsoft Office办公套件以其功能强大、方便实用而被广泛使用。其中的Word软件更是作为最流行的文字处理软件而使Word格式文档成为事实上的文件交换标准之一。出于对当前Word格式文档文件流行程度的现实考虑,如果自己开发的字处理软件(或类似功能的软件)不支持Word格式文档那几乎是不可想象的,这样的软件也必然会由于不能处理占相当比例的Word文档文件而不被用户所认同。所以,在此类软件
2009-10-13 10:28:00
1777
原创 在VC中调用WORD(显示,修改,存盘,运行宏)
(1)使用AppWizard创建一个新的MFC AppWizard(EXE)工程,命名为"office" (2)选择单文档视图(SDI)结构,在第3步中需要选中Container,以提供容器支持,并且选中active document container 其它都为默认(3)在View菜单中,选ClassWizard,选Automation选项卡,选Add Class,选择From a Typ
2009-10-13 10:24:00
767
1
转载 唐骏谈职场 —— 管理者要学会让员工感动
让企业的员工都喜欢企业,是一件很难的事。上次我在国内某网站看到一个调查,被调查的8万多人中有78%的人都说不喜欢自己的企业,更有87%的被调查者说想离开自己的公司。根结所在还是企业的管理,就是企业文化。 我在中国十年的管理经验告诉我,在中国做管理需要让员工感受到做领导的关爱,最好是让他们有点“感动”。一旦员工被你“感动”了,那时表现出的对企业的热爱才是真正的“文化”。 感动员工的方式可以是
2009-09-11 09:20:00
759
转载 内部文件检索——公司经验管理系统的一种有效方法
每个企业都有一些掌握核心技术的核心员工,他们的技能为公司创造着巨大的财富。但一支独放不是春,满园春色关不住。如何将核心员工的经验和知识保存下来,使之真正成为公司的有形财务,使更多的人成为专家,同时也使企业不再受核心员工的流失的威胁,便于核心员工的管理,形成强有力的管理文化和氛围。 我们经过探索,认为企业内部应该建立经验管理系统,将专业技术人员每次对问题的解决总结成经验文章
2009-09-04 16:39:00
1144
转载 inline 内联函数
一、inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。 表达式形式的宏定义一例: #define ExpressionName(Var1,Var2) ((Var1)+(Var2))*((Var1)-(Var2)) 为什么要取代这种形式呢,且听我道来: 1. 首先谈一下在C中使用这种形式宏定义的原因,C语言是一个效率很高的语言,这
2009-08-25 11:04:00
665
原创 函数的声明和实现都在头文件中的问题——个人小结
放到头文件情况:1.一般的模版类的声明实现都放在头文件2.一个常用的公开的公共类,可以放到头文件3.如果函数是内联函数(inline),则需将定义写在头文件中。 问题:在工作中遇到这么一个问题:一个基类,我是想里面存放的内容都很常用而且也不是特别复杂,就把他的声明和实现都放到了头文件。但是当派生类调用基类中的函数时,编译时通过了,但是连接时提示在派生类中已经实现了基类
2009-08-25 10:23:00
2651
原创 CAD出现错误
1.打开纯CAD出现 提示“unhandled access violation reading 0x0020 exception at 6ea273h.”解决方法:删除注册表Current User下的AutoDest下的对应版本(R15 02 R16 04 R17 08)下的Profile下的所有配置后,重新启动计算机
2009-06-25 15:08:00
3446
原创 Windows Mobile中使用html控件[转]
在某些特殊的应用场合,我们很想要一个类似IE功能的模块,定制自己的功能。HTML控件现在向我们张开了怀抱。稍稍奇怪的是,它并不完全支持WAP协议。看来,IE还是做了自己的解析。首先,我们要注册一下控件。把Htmlctrl.h包含进来,调用InitHTMLControl()函数,里面的参数为应用程序句柄。以下代码在MFC中使用:VERIFY(InitHTMLControl(AfxG
2009-06-25 14:05:00
1385
原创 一个栈类的实现(链栈)
typedef struct LNode { int data; struct LNode *next;}LNode, *pLinkList;//类的声明class LinkList { private: pLinkList m_pList; int m_listLength;public: LinkList(); ~LinkL
2009-06-25 14:04:00
867
原创 一个链表类的实现
typedef struct LNode { int data; struct LNode *next;}LNode, *pLinkList;//类的声明class LinkList {private: pLinkList m_pList; int m_listLength;public: LinkList(); ~LinkList(); bool InitList (); bo
2009-06-25 14:02:00
733
原创 关于写文件(系统API函数&CFile类)
写文件是编程中很常用的手段。我们通常可以利用系统提供的API函数CreateFile去创建或打开一个文件(是创建还是打开在参数中可以设置)HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttrib
2009-06-25 14:01:00
833
原创 MFC数组类CArray的使用的操作详解[转]
MFC的数组类支持的数组类似于常规数组,可以存放任何数据类型。常规数组在使用前必须将其定义成能够容纳所有可能需要的元素,即先确定大小,而MFC数组类创建的对象可以根据需要动态地增大或减小,数组的起始下标是0,而上限可以是固定的,也可以随着元素的增加而增加,数组在内存中的地址仍然是连续分配的。 MFC定义了数组模板类CArray,并针对各种常用变量类型定义了CByteArray,CArray,C
2009-06-25 13:58:00
1075
原创 C++引用与指针的比较
引用是C++中的概念,初学者容易把引用和指针混淆一起。 一下程序中,n是m的一个引用(reference),m是被引用物(referent)。 int m; int &n = m; n相当于m的别名(绰号),对n的任何操作就是对m的操作。 所以n既不是m的拷贝,也不是指向m的指针,其实n就是m它自己。 引用的规则: (1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。 (2)
2009-06-25 13:57:00
669
原创 CArray和CList的区别与应用
开始用过CArray这个非常好用的类(如何使用看这篇文章MFC数组类CArray的使用的操作详解 )。后来又发现CList这个类与它有些相似,于是Google了一下。在这里汇总一些比较好理解的说法去熟悉他们。以便在以后的编程中应用自如: TitleArray采用队列方式存储数据,因而其内部数据元素是以物理方式顺序排列的,所以检索、顺序执行GetAt()等函数的速度是相当快的。但是由
2009-06-25 13:54:00
3476
转载 精通MFC程序设计(6)-数组、链表、映射类
为了处理数据的集合,MFC提供了一组集合类,包括数组、链表以及映射等,它们最大的作用是在应用框架中定义文档类的数据结构。一、模板类模板集合类的参数用于定义存储在集合中对象的类型。模板类二、数组类数组是一维的数据结构,在内存中,它以连续的地址存储元素。这种存储方式决定了用户可以快速、随机的访问它的元素;其不足之处,在插入元素时,必须移动插入位置之
2009-06-25 13:52:00
1621
转载 二十几岁的女孩应该知道(值得一看)
一:拥有品位女孩到了二十几岁后,就要开始学着用心的经营自己了,它体现在自己的外表以及涵养上,每一个女孩都是特别的,都应该有自己独特的品位,可能很多女孩会觉得品位与时尚或奢侈品是挂钩的,其实不是,品味是一个人去观察事物时的态度,同样的东西,不同的人眼光下会出现着不同的版本,物品本身的价值与品位的高低是没有关系的,女孩要用自己的目光去欣赏一件东西,用高级的品味去挑选东西。在某些程度上,一个人的品味与
2009-04-15 13:10:00
871
原创 TRACERT(跟踪路由)命令及用法
Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。 Tracert 工作原理 通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到
2009-04-15 09:39:00
6789
转载 VC的20个小技巧
一、打开CD-ROM mciSendString("Set cdAudio door open wait",NULL,0,NULL); 二、关闭CD_ROM mciSendString("Set cdAudio door closed wait",NULL,0,NULL); 三、关闭计算机 OSVERSIONINFO OsVersionInfo; //包含操作系统版本信息的数据结构 OsVersi
2008-06-04 16:27:00
797
转载 Windows下动态内存分配方式
这里的"动态内存"包含以下两个方面的内容: 1.内存。这里的"内存"指的是进程的虚拟内存空间。在Win32环境下,每一个进程拥有独立的,大小为4G(0x0000 0000 ~ 0xFFFF FFFF)的虚拟内存空间。 2.动态。这里的"动态"指的是进程虚拟内存空间中的动态内存区域。在一个进程的虚拟内存空间中,只有动态内存可以在运行是被应用程序自由的分配/使用/释放。在Win32环境下,我们
2008-05-07 17:34:00
1466
转载 objectARX常用代码2
设置当前的layer和textstyle // Function name : SetCurTextStyle // Description : 设置当前TextStyle // Return type : Acad::ErrorStatus // Argument : const char* lpStyleName // Argu
2008-05-07 17:32:00
4062
2
转载 CString 操作指南
通过阅读本文你可以学习如何有效地使用 CString。 CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。 使用CString可以让你对字符串的操作更加直截了当。这篇文章不是CString的完全手册,
2008-05-07 17:31:00
934
1
原创 ARX几个典型的简单程序(转载)
////////////////////创建窗体图层"Window_Layer"///////////////// AcDbObjectId createWindowsLayer() { //打开层表,打开方式为只写/// AcDbLayerTable *pLayerTable; acdbHostApplicationServices()->workingDatabase() ->getSymbo
2008-05-07 17:26:00
3989
2
原创 继续对内存泄漏进行分析和修改(原创,绝对的原创)
上次就比较常见的内存泄漏问题进行讲述自己是怎么做 。今天在说说自己的体会.如果在函数体中利用CMemoryStats.获取的内存块并不是内存泄漏的内存块,而在调用函数中的确是这个函数造成了内存泄漏。这样就的好好在函数体中进行分析。这是可以采取比较笨的办法,但是确实最有效的方法。一点一点屏蔽,最终找到内存泄漏的地方,一点一点深入,就会找到泄漏的地.(这是一个很费时,还得需要耐心的方法。若你有更好
2008-04-17 16:26:00
1528
1
原创 VC/MFC 内存泄漏的个人总结
首先先看看下面的内容吧! 我就是认真阅读了它,并结合自己所学的东西,解决了一个超难得问题(自己觉得!嘿嘿)关于MFC下检查和消除内存泄露的技巧摘要本文分析了Windows环境使用MFC调试内存泄露的技术,介绍了在Windows环境下用VC++查找,定位和消除内存泄露的方法技巧。关键词:VC++;CRT 调试堆函数;试探法。编译环境VC++6.0技术原理检测内存泄漏的主要工具是调试器和 CR
2008-04-15 17:10:00
3589
2
c语言编程常见问题解答
2008-04-18
MFC深入浅出(完整版
2008-04-18
嵌入式linux开发流程
2008-04-03
linux设备驱动程序(中文第三版)
2008-04-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人