自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 shared_ptr的模版推导问题

问题描述 问题原因分析 解决方案

2014-11-04 10:50:42

阅读数 458

评论数 0

原创 c++中对于json的key不带双引号的问题修复

在引用了第三方数据时,数据源通过转义,将json的key

2014-10-10 14:03:11

阅读数 992

评论数 0

原创 Office嵌入工具栏的基本写法

VC++编写DLL,在Word 2003中临时地、流氓地加入工具栏一个。当用户单机按钮时,运行DLL中指定代码。本文没有讨论的技术:嵌入其他控件、创建安装程序。 效果是这样的: 程序文件在这里: http://webdisk.cech.com.cn/download/f

2011-09-13 21:46:57

阅读数 367

评论数 0

原创 ARP, Address Resolution Protocol

http://www.networksorcery.com/enp/protocol/arp.htm

2011-06-21 21:16:00

阅读数 272

评论数 0

原创 DNS, Domain Name System

http://www.networksorcery.com/enp/protocol/dns.htm

2011-06-21 21:16:00

阅读数 260

评论数 0

原创 TCP, Transmission Control Protocol

http://www.networksorcery.com/enp/protocol/tcp.htm

2011-06-21 21:15:00

阅读数 282

评论数 0

原创 UDP, User Datagram Protocol

http://www.networksorcery.com/enp/protocol/udp.htm

2011-06-21 21:14:00

阅读数 512

评论数 0

原创 FTP, File Transfer Protocol

http://www.networksorcery.com/enp/protocol/ftp.htm

2011-06-21 21:13:00

阅读数 269

评论数 0

原创 HTTP, HyperText Transfer Protocol

http://www.networksorcery.com/enp/protocol/http.htm

2011-06-21 21:11:00

阅读数 307

评论数 0

原创 几个非常有用的文件操作

创建4K大小的空文件void CreateEmptyFile(){ char end=EOF; FILE *fp=fopen("empty.out", "wb"); fseek(fp, 4095, SEEK_SET); /*将文件位置指针...

2011-06-12 11:02:00

阅读数 287

评论数 0

原创 Libcurl 教程

<!--v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}--&g...

2011-06-12 10:56:00

阅读数 813

评论数 0

原创 WideCharToMultiByte的第四个参数特写

<br />int WideCharToMultiByte( UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, LPSTR lpMultiByteStr, ...

2011-01-25 23:51:00

阅读数 341

评论数 0

原创 VC 获 取 当前程序运行路径的几种方法

1.使用APi函数GetModuleFileNamechar path[MAX_PATH];GetModuleFileName(NULL, path, MAX_PATH);        //获取到完整路径如:E:/Tools/qq.exe*strrchr(path,//) = /0;     ...

2010-05-25 13:21:00

阅读数 726

评论数 0

原创 Template Method模式与Strategy模式的总结

Template Method模式实现和使用起来都比较简单,但是不是很灵活。Strategy模式非常灵活但是必须得多创建一个类(接口)、多实例化一个对象(具体算法实现)并把这个额外对象配置到系统中。因此对于Template Method模式和Strategy模式的选择,要看是需要Strategy模...

2010-05-24 23:31:00

阅读数 303

评论数 0

原创 Template Method 模式

    回想一下你编写过的所有程序。其中许多可能具有如下的基本循环结构。Initialize();while(!Done()){ Idle();}CleanUp();     首先进行初始化应用程序。接着进入主循环完成需要做的工作,这些工作或许是处理GUI事件,或许是处理数据库记录。最后,一...

2010-05-24 23:00:00

阅读数 381

评论数 0

原创 双缓冲的说明

   双缓冲的原理可以这样形象的理解:把电脑屏幕看作一块黑板。首先我们在内存环境中建立一个“虚拟“的黑板,然后在这块黑板上绘制复杂的图形,等图形全部绘制完毕的时候,再一次性的把内存中绘制好的图形“拷贝”到另一块黑板(屏幕)上。采取这种方法可以提高绘图速度,极大的改善绘图效果。能理解到这一层,工作便...

2010-04-08 12:26:00

阅读数 275

评论数 0

原创 OnPaint和OnEraseBkgnd的区别

    在MFC中 任何一个window组件的绘图 都是放在这两个member function中 在设定上 OnEraseBkgnd()是用来画底图的 而OnPaint()是用来画主要对象的     举例说明 一个按钮是灰色的 上面还有文字 则OnEraseBkgnd()所做的事就是把按钮画成灰...

2010-04-08 12:25:00

阅读数 424

评论数 0

原创 MFC应用程序创建窗口的过程

1.PreCreateWindow()   该函数是一个重载函数,在窗口被创建前,可以在该重载函数中改变创建参数(可以设置窗口风格等等)2.PreSubclassWindow() 这也是一个重载函数,允许首先子分类一个窗口3.OnGetMinMaxInfo()   该函数为消息响应函数,响应的是W...

2010-04-08 12:25:00

阅读数 292

评论数 0

原创 InvalidateRect说明

     InvalidateRect是将窗口中的一块矩形区域标注为“无效”,系统会不断向窗口发送WM_PAINT消息令其重绘。在响应WM_PAINT消息时,需要调用BeginPaint获取DC来进行重绘。该函数会合并所有“无效”区域,对DC进行裁剪,将整个窗口标注为“有效”,清除WM_PAINT...

2010-04-08 12:23:00

阅读数 375

评论数 0

原创 窗口绘制小结

    创建一个窗口,这个窗口区域就相当于一块画布,最终系统要在这块画布上绘制出窗口标题,客户区,控件等等,而窗口和控件绘制时的GetDC,BeginPaint等不过是获取到了跟自己相关的这块画布的一部分,在限定的区域内绘制,最终是画到这块画布上,系统最后显示窗口就是在桌面上显示这块画布,透明度也...

2010-04-08 12:22:00

阅读数 272

评论数 0

提示
确定要删除当前文章?
取消 删除