- 博客(28)
- 资源 (9)
- 收藏
- 关注
原创 VC++ GUID随机字符串生成
#include "stdafx.h"#include #include char* GuidToString(const GUID &guid); int _tmain(int argc, _TCHAR* argv[]){ GUID guid; CoCreateGuid(&guid); printf( "GUID: %s", Gu
2016-08-30 15:09:46 2013 1
原创 DSOFramer使用
1.void CreateNew(BSTRProgIdOrTemplate) 新建文档, 其中: ProgIdOrTemplate参数:Excel Spreadsheet "Excel.Sheet" Excel Chart "Excel.Chart" PowerPointPresentation "PowerPoint.Show" Project P
2016-08-24 15:12:17 5688
原创 如何去除CString中的空格
一、自带去空格函数CString str("测试一下 地方 测试 ");str.TrimRight();//去掉右边的空格str.TrimLeft();//去掉左边的空格二、中间的空格可以Replace进行处理CString str("测试一下 地方 测试 ");newstr=str.Replace(" ", "");//第一个参数是空格,第二个
2016-08-24 14:41:50 12600 1
原创 关于dsoframer VC++下的使用
最近需要进行word操作,发现一一个控件非常好用,就是dsoframer,但是出现个问题,查了下发现网上的例程都是C#的,自己研究了下遇到点坑还是解决了下面说详细步骤:1.新建一个用于演示的MFC对话框程序。2.插入ActiveX控件,选择dsoframer(要下载安装注册后,网上太多了就不说了)3.绑定一个变量。这里就随便弄个名字m_dsoframer。4.OnIni
2016-08-24 14:32:20 1541 1
原创 CString使用AllocSysString函数时发生内存泄露
解决方法:CString mystr("helloworld");BSTRmybstr = str.AllocSysString();SysFreeString(mybstr);//用这句释放后,内存泄漏问题解决
2016-08-24 09:29:13 1130
原创 如何嵌入并自动化 Word 文档的 MFC-微软官方文档
概要使用 OLE 嵌入,其他应用程序文档中嵌入的文档可以修改自动化通过双击嵌入的文档以将其激活"编辑"或"打开"中模式。本文演示如何嵌入并自动化 Microsoft Office Word 文档的 MFC 单文档界面应用程序中。相同的方法适用于任何 Word 版本。不同之处在于不是什么版本的 Word 创建的文档中,但相反,哪个版本的 Word 中使用的自动化过程。Word
2016-08-23 14:05:09 2459
转载 MS Office 自动化编程 - 从Word文档中获取文档属性
学习Office自动化之前先阅读一些COM书籍,对于理解Office自动化有很大帮助。以下示例代码使用VS2010进行编译。目前市面上已有的关于Office自动化的书籍,多是快餐式的,看过之后只能知道最基本的使用。要想更多的了解,非得MSDN不可。下面就是msdn上跟office开发相关的详细资料。总目录:http://msdn.microsoft.com/en-us/library/bb
2016-08-23 13:48:29 2020
转载 使用 C++ .NET 和 MFC 嵌入并自动化 Word 文档
本文介绍如何使用 Visual C++.NET 在单文档界面 (SDI) Microsoft 基础类 (MFC) 应用程序中将 Word 文档嵌入 View 对象。 创建嵌入 Word 文档的 MFC 应用程序下列步骤介绍如何嵌入一个 Word 文档并自动化文档将数据添加到单元格。启动 Microsoft Visual Studio .NET。在文件菜单上,单击新建,然后单
2016-08-23 13:38:03 845
转载 VC++操作MSWORD
原文:http://blog.csdn.net/hhhh63/article/details/7652696每隔一二年就要用一次 WORD 或其它 MSOffice 组件,好多次了,每次都忘的一干二净,从头google,这次又要用,顺便记下来,以备不时之需,同时分享给大家。开发环境 WIN7-X64, VC2010, MSOffice2010。1. 在VC2010项目名称上右击,选
2016-08-23 10:06:33 1486
原创 DSO(dsoframer)的接口文档在VC++使用
下面是别人的文章,读下面文章可大体了解DSOFramer接口,用的是.net版本的用法。不过了解后可以在VC++工程中导入DSOFramer的控件。自动生成的头文件做一个对比,然后就比较好使用这个控件了(开发环境)使用前先注册一下DSOFramer.ocx 操作:将DSOFramer.ocx复制到C:\windows\system32目录下, 开始->运行->regsvr32 DS
2016-08-22 14:38:21 1264
转载 VC操作Word书签模板
一 制作模板 1 新建一个文档,设置文档内容。对于循环的部分,建议放到表格内,这样容易定位、选择、复制、粘贴。2 将鼠标定位到要插入书签的位置,从菜单上,“插入”->“书签,弹出对话框,输入书签名,点击“添加”按钮。插入以下书签:order_num,报告日期_,报表模板__,name,age,结论__ 其中,报表模板__,
2016-08-19 16:14:08 2618
转载 VC++ 操作 word
摘要:使用VC编程来操纵Office。你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图,直方图显示、自动报表生成、播放幻灯、doc,txt,HTML,rtf文件转换、中文简繁体转换、拼音或笔画排序......只要是Office能够实现的功能,都可以在你写的程序中调用。仔细阅读下面的说明,并下载源文件进行参考,你就可以一步一
2016-08-19 15:45:03 2621 3
原创 关于DLL中new在主程序中释放的问题
首先软件运行调用dll,是将dll中的模块加入主程序中运行,而不是单独运行,dll new一个类 将这个类的指针返回给主程序,这时候主程序接管这块内存的,用完后所以要对这个类所占的内存进行释放,这和通过调用dll里面释放是一个道理 。
2016-08-12 17:47:49 750
原创 《高质量C++编程指南》摘录9
11.1.1 用 const 修饰函数的参数 如果输入参数采用“指针传递” ,那么加 const修饰可以防止意外地改动该指针,起到保护作用。如果输入参数采用“值传递” ,由于函数将自动产生临时变量用于复制该参数,该输入参数本来就无需保护,所以不要加 const 修饰。对于非内部数据类型的参数而言,象 void Func(A a) 这样声明的函数注定效率比较底。因为函数体内将产生 A
2016-08-10 16:45:14 343
原创 《高质量C++编程指南》摘录8
9.8 如何在派生类中实现类的基本函数 基类的构造函数、析构函数、赋值函数都不能被派生类继承。如果类之间存在继承关系,在编写上述基本函数时应注意以下事项: 派生类的构造函数应在其初始化表里调用基类的构造函数。 基类与派生类的析构函数应该为虚(即加 virtual 关键字)。 在编写派生类的赋值函数时,注意不要忘记对基类的数据成员重新赋值。
2016-08-10 16:18:02 288
原创 位拷贝、值拷贝、浅拷贝、深拷贝
位拷贝拷贝的是地址(也叫浅拷贝),而值拷贝则拷贝的是内容(也叫深拷贝)。如果不主动编写拷贝构造函数和赋值函数,编译器将以“位拷贝”的方式自动生成缺省的函数现将 a赋给 b,缺省赋值函数的“位拷贝”意味着执行 b.m_data = a.m_data。这将造成三个错误:一是 b.m_data 原有的内存没被释放,造成内存泄露;二是b.m_data 和 a.m_data 指向同一块内存,
2016-08-10 15:35:52 665
原创 《高质量C++编程指南》摘录7
8.4 运算符重载 8.4.2 不能被重载的运算符 在 C++运算符集合中,有一些运算符是不允许被重载的。这种限制是出于安全方面的考虑,可防止错误和混乱。 (1)不能改变 C++内部数据类型(如 int,float等)的运算符。 (2)不能重载‘.’,因为‘.’在类中对任何成员都有意义,已经成为标准用法。 (3)不能重载目前 C++运算符集合中没
2016-08-10 14:28:54 214
原创 《高质量C++编程指南》摘录6
8.2 成员函数的重载、覆盖与隐藏 成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。 8.2.1 重载与覆盖 成员函数被重载的特征: (1)相同的范围(在同一个类中) ; (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是:
2016-08-10 14:06:44 261
原创 《高质量C++编程指南》摘录5
7.8 有了 malloc/free 为什么还要 new/delete ? 我们不要企图用 malloc/free 来完成动态对象的内存管理,应该用 new/delete。由于内部数据类型的 “对象” 没有构造与析构的过程, 对它们而言 malloc/free和new/delete是等价的。 既然 new/delete 的功能完全覆盖了 malloc/free,为什么 C++
2016-08-10 11:41:29 356
原创 《高质量C++编程指南》摘录4
7.5 free 和 delete 把指针怎么啦? 别看 free 和 delete 的名字恶狠狠的(尤其是 delete) ,它们只是把指针所指的内存给释放掉,但并没有把指针本身干掉。 --------所以释放内存后要记得释放指向这片内存的指针。(1)指针消亡了,并不表示它所指的内存会被自动释放。 (2)内存被释放了,并不表示指针会消亡或者成了 NULL 指针。
2016-08-10 11:36:03 277
原创 《高质量C++编程指南》摘录3
用函数返回值来传递动态内存这种方法虽然好用,但是常常有人把 return 语句用错了。这里强调不要用 return 语句返回指向“栈内存”的指针,因为该内存在函数结束时自动消亡。但是!堆内存是可以的哦!因为堆内存是自己管理释放的!以下是错的:char *GetString(void) { char p[] = "hello world"; return p; // 编译器将
2016-08-10 11:21:34 226
原创 《高质量C++编程指南》摘录2
注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针如7-3-3(b)中,不论数组 a的容量是多少,sizeof(a)始终等于 sizeof(char *)。 char a[] = "hello world"; char *p = a; cout cout示例 7-3-3(a) 计算数组和指针的内存容量 void Func(cha
2016-08-10 11:00:39 263
转载 深入分析C++引用
转自:http://blog.csdn.net/webscaler/article/details/6577429关于引用和指针的区别的文章很多很多,但是总是找不到他们的根本区别,偶然在codeproject上看到这篇文章,觉得讲的挺好的,所以翻译了下,希望对大家有帮助。原文地址: http://www.codeproject.com/KB/cpp/References_in_c__.
2016-08-10 10:31:17 219
原创 《高质量C++编程指南》部分摘录
【规则6-1-4】如果输入参数以值传递的方式传递对象,则宜改用“const &”方式来传递,这样可以省去临时对象的构造和析构过程,从而提高效率。
2016-08-09 17:18:12 269
转载 OCX与DLL的区别
转自:http://blog.csdn.net/scucj/article/details/852181因为工作的原因开始接触OCX控件的开发,原来从事的工作中,大多数设计的是标准C和C++,很少涉及C及C++语言的应用,最近在项目中的学习也让我深深的感觉到之前课堂讲解内容的肤浅,虽然原来以为讲解的内容已经相当深刻和丰富,但经过这个阶段的学习,由衷的感到愧疚,感到自己的眼界和水平阻碍和限制
2016-08-08 13:31:35 1401
原创 MFC关闭窗口 退出软件的 用法
1、CMainFrame Doc/View调用 OnClose()。只是关闭当前视图文档。主框架当然会退出程序的2、PostQuitMessage(0);这个安全点,没有内存泄漏PostMessage(WM_QUIT,0,0);::PostMessage(AfxGetMainWnd()->m_hWnd,WM_CLOSE,0,0);3.exit(0) 正常终止程序; exit(
2016-08-05 14:53:38 514
原创 不用写代码就可创建微信机器人
现在的微信公众平台是一个很好的娱乐、推广、商业、宣传的平台,给微信公众创建一个机器人是一个比较好玩的需求。智能回答和你聊天解闷都可以啊。之前在13年的时候创建微信机器人,还需微信后台开发,在新浪sae的云平台创建微信后台服务,然后调用第三方机器人---小黄鸡的接口实现聊天。 这些有点点代码基础才能完成。现在不需要写代码直接可以创建一个相当智能的微信机器人,关键还是免费的哦。我们这里选用图灵机器
2016-08-05 13:40:27 1549
转载 【COM编程】从C++到COM
COM的产生 原文:http://blog.csdn.net/netanimals/article/details/6863403一. 为什么要引入COM?先给一个答案:COM的产生是为了解决OLE技术。当然今天OLE已经变成了COM的一个成功应用例,就好比牛顿当初发明微积分是为了解决物理运动问题,但是今天物理运动问题只是微积分的一个应用而已——以上不是我瞎猜的,是那本InsideCO
2016-08-02 10:35:44 345
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人