一个在IT行业摸爬滚打的老司机
在这之前我一直在使用MFC框架,现在要学习WTL似乎有些牵强...... 俗话说得好:“工欲善其事,必先利其器”,还是先将基本术语搞清楚吧! 1、STL 即 Standard Template Library STL(标准模板库)是惠普实验室开发的一系列软件的统称。
1、第一种方法:用微软提供的官方文档 From : http://support.microsoft.com/kb/181934/en-us/ Generally, when you want to display a message box for a limited amount ...
如果你是一个使用VB编程的程序员,要在程序中显示JPG或者GIF图像简直易如反掌,将图像控件拖到Form中,分分钟即可搞掂。但是C++程序员要显 示同样的图形却没有那么轻松,那么是不是要自己编写JPG解压缩代码呢?当然不用那么复杂啦!本文将针对这个问题讨论如何在MFC中显示JPG或者GIF 图像。
1、DLL源代码 MyDll.h [cpp] view plaincopyprint? ////////////////////////////////////////////////////////////////////////// // MyDll.
1、Dll相关代码 MyDll.h [cpp] view plaincopyprint? #ifdef DLL1_API #else #define DLL1_API extern "C" __declspec(dllimport) #endif ...
首先是ZeroMemory和memset的区别: 1、ZeroMemory是微软的SDK提供的,memset属于C Run-time Library提供的。因此ZeroMemory只能用于Windows系统,而memset还可用于其他系统。
// 控制台程序的基本文本颜色 // #define FOREGROUND_BLUE 0x0001 // text color contains blue. // #define FOREGROUND_GREEN 0x0002 // text color contains green.
1、概述 GDI在全称是Graphics Device Interface,即图形设备接口。是图形显示与实际物理设备之间的桥梁。GDI接口是基于函数,虽然使程序员省力不少,但是编程方式依然显得麻烦。
一. 关于ActiveX ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在创建包括ActiveX程序时,主要的工作就是组件,一个可以自足的在ActiveX网络中任意运行的程序。
参考链接:http://wenku.baidu.com/view/f175c823dd36a32d737581c9.html
1.通过vs2008的菜单 依次选择 工具(Tools)-外部工具(External Tools)-添加 2.如图所示在标题中输入“OLE/COM 对象查看器” 在命令处输入“oleview.exe”,如果提示该命令无效的话请加入具体路径如:C:/Program Files/Microsoft SDKs/Windows/v6.0A/bin/OleView.Exe 3.单击确定。
1.没有解决的外部定义错误xyView.obj : error LNK2001: unresolved external symbol "public: __thiscall CMyOCRInfo::CMyOCRInfo(void)" (??0CMyOCRInfo@@QAE@XZ)可能是由于构造方法没有实现代码 2.
Unicode下TRACE中文(_CrtDbgReport: String too long or IO Error) 在使用Unicode的工程项目中,如果是Debug模式。当TRACE Unicode字符串时,会输出提示:_CrtDbgReport: String too lon...
一、很多时候需要在Release版本下调试程序,可以使用以下方法设置: 1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』; 2、项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』; 3、C/C++->优化->优化选择『禁用』; 4、删除解决方案下的.
VC调试,一般是需要设置一个断点的,譬如1)int i;2)int j;如果在int j处设置了断点,那么当程序运行到int j时,程序停止,这个时候就可以查看程序各种变量或执行状态了,简单的办法就是把鼠标停在要看的变量上面。
最近一段陆续用了几种调试VC程序的方法。一般程序也肯定会使用到这几种方法。 现在总结如下: 1.在VC里面debug版本用TRACE自己打印trace到调试窗口。 局限就是,不能脱离了vc的环境进行调试。
C语言中实现参数个数可变的函数 采用C语言编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的所有实际参数。但在某些情况下希望函数的参数个数可以根据需要确定。
这几天不是很忙,有拿起了《深入浅出MFC》,这本书其实看过2遍了,不过时间很久了,所以也忘了很多。 现在再次看这本书,发现又吸收很多新东西。 想起了有人说过的一句话,具体记不清除了,但是大意是。同一本书,每看一遍书,就有不同的收获。
VC++提供了一个叫输出窗口的窗口,在调试程序和生成是可以看到输出信息,这个信息如果是MFC程序可以用TRACE宏来打印,在控制台程序里就没有了。所以我们直接调用API来实现上面的功能。 首先在程序中引入头文件windows.h或winbase.h 调用函数有两种版本 ANSI和UNICODE OutputDebugStringA OutputDebugStringW 自动版本 OutputDebugString 输出方法 OutputDebugString(_T("字符串")); OK可以了。
1.CDumpContext 该类没有基类。这个类支持面向流的诊断输出,以人能够阅读的文本。该类重载了
我们知道,MFC中可以调用宏TRACE等十分方便的输出调试信息到Visual Studio输出窗口,但C++中没人类似的函数,最近我在开发一个小程序时跟踪了一下MFC的TRACE宏,发现它映像了atltrace.
在win32程序中可以使用函数OutputDebugString输出调试信息。输出的结果可以在vs的集成环境中看到,也可以使用工具DbgView.exe捕捉结果。函数的原形如下: OutputDebugString The OutputDebugString function sends a string to the debugger for display.
前言 在上篇Add-In运行机制解析(上)中,我分析了Add-In向导生成的代码,从中我们知道只要创建一个类库,它包含实现了IDTExtensibility2接口的类,然后为其建立.addin配置文件,就可以实现一个Add-In了。
前言 上一篇随笔Macro和Add-In初探介绍了如何开发两者的HelloWorld程序。没错,宏确实简单易行。不过在某些情况下,比如在商业软件中,宏在性能和知识产权方面可能会带来麻烦,此时那把更好的锤子是Add-In。
前言 Visual Studio是微软最知名的产品之一,在使用微软技术的开发人员的心目中尤为如此。相信这一点无须多说。它建立在IDE(统一开发环境)的基础之上,可用于开发多种不同类型的应用程序。 Visual Studio,通常被简称为VS(以下皆按此简称),支持多种平台和编程语言。
前言 在VS概览中,我们简单回顾了一下VS的历史。本文将通过两个简单的例子来说明Macro和Add-In的开发。通过Macro我们把VS中的一些重复操作录制下来,之后可以多次运行,节省时间并保持好的心情;通过Add-In,我们可以自己动手来为VS添加新的功能,扩展了VS就意味着扩展了我们自己。
感谢曾发明同学 1 参照vc自带的sample.dsm生成文档yymacro.dsm; 2 编辑yymacro.dsm内容,添加如下三个宏: A) ‘生成Doxygen样式的函数注释 YYAddDoxygenFunctionDescription() 对应注释为: ...
1 doxygen是大名鼎鼎代码文档工具。 下载地址:www.doxygen.org 安装它。http://www.stack.nl/~dimitri/doxygen/download.html 可下载. 2 Graphviz 这个工具配合doxygen使用,可以提取函数,模块之间的调用关,非常清晰。
开发环境 ---->Turbo c DOS时代c语言开发的经典工具,目前适合两类人使用:c语言beginner(尤其是学生一族),具有怀旧情节的专业人士:) ---->Visual C++ 6.0/7.0 稳定而强大的IDE开发环境,具有丰富的调试功能,定制宏的功能也是其一大特色。
一、 本文介绍一个CButton的派生类CLinkButton,用此派生类制作的按钮具有以下特点: 1、按钮的外观类似静态控件类CStatic 产生的对象。(参见图一) 图一 2、当鼠标的光标移到按钮上,但并未按下时,光标改变形状,字体改变形状;按钮类似应用在工具条和菜单上的扁平钮效果。
CButtonST使我目前见过的最强大,功能最全的CButton派生类。撰写本文的目的不在于技术的讨论,而是希望能够为各位提供关于CButtonST的使用参考,以提高编写程序的速度。 下图是用CButtonST做的几个按钮 以下是CButtonST类的一些版本信息,方便大家可以及时获得它的最新版本。
通常要开发网络应用程序并不是一件轻松的事情,不过,实际上只要掌握几个关键的原则也就可以了――创建和连接一个套接字,尝试进行连接,然后收发数据。真正难的是要写出一个可以接纳少则一个,多则数千个连接的网络应用程序。
如何成为一名优秀的程序员? 一位仁兄说的“程序员写的程序不是算法+语法 ,而是要能够满足用户需求的工 具”我非常赞同,要想达到用户需求就必须从各个方面来考虑如业务、人机交互 、效率等方面,而不只是一个语言(语法)的问题,语言(语法)只是工具,只 知语法不知其他那就真是编程机器了! 编程机器在印度高...
如何学习vc++(vc的用处) 1 vc的用处我感觉下面一些领域比较适合于用vc: 操作系统编程,game,图形设计,corba编程,com编程,网络编程。我谈谈我的体会。我现在在深圳的一家公司从事IP电话网关的开发。
序: 近来,在论坛上面几乎每天都可以看到很多的人提出如何学习MFC,学习MFC的确不是一件很容易的事情,加上成千上万的API函数和微软的一些资料的保留,学习MFC就变得更难了。不过我认为难在入门,入门后就慢慢觉得得心应手了。
基于Winsock API的VC网络编程实战 随着计算机信息技术的飞速发展,互联网与人类社会的工作、生活越来越紧密相关,它已经成为人类获取、交流信息的重要途径和手段。所以当前对于开发人员来说,网络编程已是必备的技能。
MFC编写程序,都要用到动态链接库,MFC相关的动态库有MFCD42和MFC42等,MFC框架程序已经自动加载,那么如何引入第三方的动态链接库到工程中呢? 静态链接库是要先把程序中所需要使用的函数编译成机器码,保存在*.lib文件中。
Package vs. Namespace 我们知道,重用性(reusebility)是软件工程中一个非常重要的目标。重用,不仅仅指自己所写的软件(代码、组件等等)可以被重复利用;更广义的重用是指不同的人,不同的团队,不同的公司之间可以互相利用别人的成果。
static 有两种用法:面向过程程序设计中的static 和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明 static 在类中的作用。 一、面向过程设计中的static 全局变量、局部变量、静态全局变量、静态局部变量的区别 C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为 6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。
对于指针和常量,有以下三种形式都是正确的: const char * myPtr = &char_A;//指向常量的指针 char * const myPtr = &char_A;//常量的指针 const char * const myPtr = &char_A;//指向常量的常量指针 下面依次对这三种类型进行介绍。
非常惭愧,我过去也仅仅了解boost、STLport这样的库,以及一些GUI库,但是居然有如此众多的C++库,其实令我惊讶。当然,这个问题应该辩证的看,对于拿来主义确实可以直接使用这些库,但是如果学习和专业的开发,确实应该自己写,因为——适合的才是最好的。
现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千,很多陌生的出版社,很多陌生的作者,很多陌生的译者,书名也是越来越夸张,什么××天精通××,精通××编程, ××宝典等等,书的印刷质量真的很好,纸张的质量也是今非昔比啊,但书的内容好象却是越来越让人失望,也许是我老了,我的思想我的...
我们将创建的第一种类型的库是动态链接库 (DLL)。 使用 DLL 是一种重用代码的绝佳方式。 您不必在自己创建的每个程序中重新实现同一例程,而只需对这些例程编写一次,然后从需要该功能的应用程序引用它们即可。
我们将创建的下一个库类型是静态库 (LIB)。 使用静态库是重用代码的一种绝佳方式。 您不必在自己创建的每个程序中重新实现同一例程,而只需对这些例程编写一次,然后从需要该功能的应用程序引用它们即可。 本演练演示如何完成以下任务: 创建静态库项目。
如果可能我想用打包类来实现。唉!,就叫我封装先生吧。 你算是找对地方了。但是我要先声明我的解决办法不是你所希望的-甚至也不是我自己所希望的! 什么是autocomplete呢?你也许已经注意到当你在IE的地址编辑框中敲入什么东西的时候,就会出现一个下拉组合框显示所有匹配敲入字符的URLs,亮条落在第一个匹配项上,你只要按下回车键就可以了(图一)。
8 推荐 在浏览器中嵌入activex后,线程中触发的事件就没有动静了,如果在调试的情况下,还能发现浏览器有非法错发生。而同样的activex如果使用应用程序来调用则正常。解决方法是取巧的方式,在线程中发出消息,控件响应消息后再FireEvent。
1. 点击【开始】->【运行】 命令:regedit.2. 定位到HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main3.
//比较好的教程 ocx 在 win7 系统会出现注册需要管理员权限的问题,这时候需要用管理员身份运行 cmd,然后运行 regsvr32注册。 很麻烦 尝试使用 nsis 做成安装包, 采用 regdll 注册 ocx, 成功。
.h 文件#define WM_TEST WM_USER + 1class CTestThread : public CWinThread{ DECLARE_DYNCREATE(CTestThread)protected: CTestThread (); vi...
问题描述: 新建一个MFC ActiveX工程,添加一对话框资源,上面有一些标准控件,如按钮、编辑框、树形列表等,并生成一个类CCtrlPanel。 在CXXXXCtrl类中: int CXXXXCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) ...