第五空间

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年4月13日

摘要: 在上一篇文章中,我介绍了Word的对象模型和一些基本开发技巧。为了更好的介绍Word插件开发,我为本文制作了一个Word书签的增强版,具体功能是让用户在Word中选择一段文本,为它添加书签并其标志为高亮,同时用户可以为这段书签写注释,以后当用户点击这个书签时,我就会显示注释。以下是我录制的视频介绍:这个插件将包括以下几个技术点:添加右键菜单添加右键菜单、控制右键菜单显示WindowBeforeRightClick 事件删除右键菜单修改正文内容、样式修改选定的内容修改选定的样式添加控件添加书签添加超链接添加内容控件(Content Control)基于用户选中内容,执行程序WindowSelec 阅读全文
posted @ 2013-04-13 13:05 LearnerYQY 阅读(8673) 评论(1) 推荐(0)

摘要: Word Object Model 介绍首先,要开发出良好的程序,我们需要了解我们的开发平台,而Word本身是一个很复查的平台,我在这里先从Word的对象模型开始介绍。Word Object Model中一共包含有数百个不同类型的对象,其中最关键的也是最常用的是Application、Document、Range、Selection和Bookmark,他们的关系如下图:我来依次介绍这几个对象:Application 对象Application代表Word程序,而一个Word程序内可以包含多个Word文档。用通俗的话来说,无论你开几个Word文档,都是在一个Word进程里面管理。这我们以后会讲到 阅读全文
posted @ 2013-04-13 13:02 LearnerYQY 阅读(975) 评论(0) 推荐(0)

摘要: 我的VSTO之路:序VSTO是微软提供给.Net开发人员的一个接口,通过他我们可以对Office程序做一些处理。但是这个接口并不尽善尽美,相比微软的很多其他产品,VSTO的稳定性并不好,相关的文档也很少。这种情况下,很多问题需要我们程序员自己去克服。我自己从08年进了现在这家公司,断断续续做VSTO开发已经快2年半了,不敢说对VSTO精通,但至少已经有了深入的解,尤其对开发中的一些Trick和一些Bug。准备写点东西记录一下这两年来的心路历程。同时也感慨于国内的VSTO文档资料实在匮乏,我自己在开发过程中走了不少弯路,希望我写的这些文档能对后来的开发者们有所帮助。我喜欢在写文档之前先准备一个提 阅读全文
posted @ 2013-04-13 12:59 LearnerYQY 阅读(1234) 评论(0) 推荐(0)

摘要: 开始之前,首先我介绍一下我的开发环境:VS2010 + Office 2010,是基于.Net framework 4.0和VSTO 4.0。以下的范例代码都基于这个,如果你使用的是VS2008,那么问题也不大,基本可以移植过去。需要注意的是.Net framework 4.0中增加了dynamic类型和可选参数,而这两点新的特性在VSTO 4.0中被广泛使用,新特性的详细内容我就不介绍了,(其实介绍的地方很多,Google一下就可以了),移植的时候需要稍微调整一下代码。创建VSTO项目环境搭建要开发VSTO项目,环境搭建比较简单,微软这方面做得都做不错。只要安装了VS2010(需要勾选VST 阅读全文
posted @ 2013-04-13 12:57 LearnerYQY 阅读(677) 评论(0) 推荐(0)

摘要: [为什么写这类文章]漫谈算法(零)序[这系列文章里会用到的一下符号和公式] 漫谈算法(番外篇) 符号标记以及基本数学公式首先解释一下什么是NP问题,什么是NP hard问题,什么是NP完全问题。看下面的图,他们之间的关系表示的比较清楚。P Problem:这个应该最易理解,就是一个问题可以在Polynominal的时间的得到解决,当然,是对于任意input size。NP Problem:对于一类问题,我们可能没有一个已知的快速的方法得到问题的答案,但是如果给我们一个candidate answer,我们能够在polynominal的时间内验证这个candidate answer到底是不是我们 阅读全文
posted @ 2013-04-13 12:55 LearnerYQY 阅读(824) 评论(0) 推荐(0)

摘要: [为什么写这类文章]漫谈算法(零)序[这系列文章里会用到的一下符号和公式] 漫谈算法(番外篇) 符号标记以及基本数学公式通常我们说到某个算法,我们经常关心他的时间复杂度,当然,我们通常关心的是这个时间复杂度的upper bound,即上界。upper bound告诉我们在某些很糟糕的情况下,我们的算法的性能。比如我们的基于比较的排序算法,我们知道mergesort(归并排序)是O(nlgn),但是我们应该能提出这样的疑问,can we do it better?(我们能做的更好吗?) 所以,在这篇文章里,我们将简单介绍一下对于算法的下界,lower bound,它告诉我们对于某个问题,是否存在 阅读全文
posted @ 2013-04-13 12:54 LearnerYQY 阅读(557) 评论(0) 推荐(0)

摘要: 上周完成了一个报表小项目,使用开源组件NPOI作为主要组件。之所以采用第三方的开源组件而不使用COM或微软提供的API,原因就不多说了,大家懂的。官方网站:http://npoi.codeplex.com/http://www.cnblogs.com/tonyqus/archive/2009/03/16/1409966.html在此分享NPOI的一个应用,利用Excel模板生成excel文件。这正是NPOI强于Myxls之处。具体步骤如下:一、准备数据USE[MonthReportDemo]GO/****** Object: Table [dbo].[TradeReport] Script D 阅读全文
posted @ 2013-04-13 12:50 LearnerYQY 阅读(2244) 评论(0) 推荐(0)

2013年3月30日

摘要: 奇幻七绝 先填上行正中央, 依次斜填切莫忘。 上格没有顶格填, 顶格没有底格放。转载于:http://blog.csdn.net/fengchaokobe/article/details/7437767编程实现奇数阶幻方算法:[cpp]view plaincopy#include<iostream>#include<iomanip>#include<cmath>usingnamespacestd;intmain(){intn;do{cout<<"Pleaseinputaoddnum:"<<endl;cin>& 阅读全文
posted @ 2013-03-30 10:16 LearnerYQY 阅读(3545) 评论(0) 推荐(1)

2012年12月20日

摘要: 在使用CListCtrl控件Report显示风格时,需要设置列标题信息,否则不能向控件中添加数据信息,编辑列标题需要使用InsertColumn方法: m_ListCtrl.InsertColumn(0, "姓名", LVCFMT_LEFT, 150, 0); m_ListCtrl.InsertColumn(1, "联系电话", LVCFMT_LEFT, 150, 1);函数功能:在报告模式下插入一列函数原型:int InsertColumn(int nCol, const LVCOLUMN* pColumn)int InsertColumn(int n 阅读全文
posted @ 2012-12-20 23:47 LearnerYQY 阅读(3444) 评论(0) 推荐(0)

2012年12月9日

摘要: 最近做了一个基于UDP的局域网内聊天工具的课程设计,其中要用到编辑框,如果只改变它固有的属性是实现不了垂直滚动条自动下移到底端这个功能的。以下是我的实现方法:我用的是VC6.0中文版,跟VS2008有点不一样(括号内为vs2008):1.新建一个编辑框控件(Edit Control),将其多行(Multiline)前面打勾(属性设置为True),Auto HScroll前面的勾去掉(属性设置False),这样就可以实现每一行填满后自动换行了。2.再将垂直滚动条(Vetrical Scroll)前面打勾(属性设置为True),当输入或显示超过编辑框的大小后就会出现垂直滚动条。3.如果是输入,滚动 阅读全文
posted @ 2012-12-09 19:58 LearnerYQY 阅读(7688) 评论(0) 推荐(1)