用VC6.0编写Word插件(Office2007篇)
admin | 二次开发 | 2014-05-06
简介
微软在06年底推出了两个重量级的产品:Vista和Office 2007。在Office2007中使用了新的UI方式。微软大力鼓吹这种叫做Ribbon的新的UI将会给使用Office的人带来更大的便利性。在Office插件方面,微软保持了对原有版本 (office 2K、XP、03) 的兼容性,都被放到一个叫做Add-In的Tab里面,如下图所示。
不过样子比较难看,到底有没有办法让界面做得更漂... [阅读全文]
PNGGauntlet – 专用 PNG 优化软件,无损压缩 PNG 图片
admin | 破解工具 | 2014-05-06
PNG 通常是软件界面截图的最佳格式,在保持文件大小最小的情况下拥有较高的清晰度,每次我截图都会在 JPG 和 PNG 格式间做很多权衡,力求在保持最好质量的情况下生成最小的大小。
虽然 PNG 是无损压缩的位图图形格式,特别是 256 色的 PNG 有更高的压缩性价比,不过即便如此,PNG 仍有很多优化和压缩的余地,FILEminimizer Suite 就有图片压缩模块(根... [阅读全文]
TCP协议三次握手过程分析
admin | net work | 2014-04-29
TCP(Transmission Control Protocol) 传输控制协议
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:
位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)
Sequence number(顺序号码) Acknowledge number(确认号码)
第... [阅读全文]
TCP和UDP之间的区别
admin | net work | 2014-04-29
TCP和UDP区别
TCP
UDP
是否连接
面向连接
面向非连接
传输可靠性
可靠的
不可靠的
应用场合
传输大量的数据
少量数据
速度
慢
快
OSI 和 TCP/IP 模型在传输层定义两种传输协议:TCP(或传输控制协议)和 UDP(或用户数据报协议)。
UDP
UDP 与 TCP 的主要区别在于 UDP 不一定提供可靠的数据传输。事... [阅读全文]
STL中vector、list、deque和map的区别
admin | C++ | 2014-04-29
1 vector
向量 相当于一个数组
在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacituy()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储,这给人以vector可以不指定vector即一个连续内存的大小的感觉。通常此默认的内存分配能完成大部... [阅读全文]
STL中基本容器有: string、vector、list、deque、set、map
admin | C++ | 2014-04-29
在STL中基本容器有: string、vector、list、deque、set、map
set 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问
set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少
map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了
底层采用的是树型结构,多数使用平衡二叉树实现,查找某一值是常数时间,遍历... [阅读全文]
无敌的Word CommandBar和它的Control们
admin | 二次开发 | 2014-04-25
Word 2007在外观上和Word 2003比,改动很大。一个叫Ribbon的控件容器取代了过去Office版本中的菜单和工具栏。在Word 2003中,我们可以使用VBA, VSTO, Office Automation等等各种各样的技术,在菜单或者工具栏上添加自定义的按钮,实现我们想要的功能。C#版本的Automation代码,大致如下:
//Initial and show Word Application
Word.Application wordApp... [阅读全文]
UnicodeToUTF8
admin | 类型转换 | 2014-04-23
C++
bool wstring2string(IN const wchar_t* lpwstr, OUT string& str, IN unsigned int uCodePage)
{
if (NULL == lpwstr)
return false;
int nLen = ::WideCharToMultiByte(uCodePage, 0, lpwstr, -1, NULL, 0, NULL, NULL);
char* pBuf = new char[nLen + 1];
if (NULL != pBuf)
{
nLen = ::WideCha... [阅读全文]
CString2string
admin | 类型转换 | 2014-04-23
C++
void ConvertCString2string(CString& strSrc,std::string& strDes)
{
#ifndef UNICODE
strDes = strSrc;
#else
USES_CONVERSION;
strDes = W2A(strSrc.LockBuffer());
strSrc.UnlockBuffer();
#endif
}
12345678910
void ConvertCString2string(CStri... [阅读全文]