自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 shared_ptr的模版推导问题

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

2014-11-04 10:50:42 642

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

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

2014-10-10 14:03:11 1576

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

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

2011-09-13 21:46:57 553

原创 ARP, Address Resolution Protocol

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

2011-06-21 21:16:00 383

原创 DNS, Domain Name System

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

2011-06-21 21:16:00 394

原创 TCP, Transmission Control Protocol

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

2011-06-21 21:15:00 389

原创 UDP, User Datagram Protocol

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

2011-06-21 21:14:00 791

原创 FTP, File Transfer Protocol

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

2011-06-21 21:13:00 398

原创 HTTP, HyperText Transfer Protocol

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

2011-06-21 21:11:00 444

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

创建4K大小的空文件void CreateEmptyFile(){ char end=EOF; FILE *fp=fopen("empty.out", "wb"); fseek(fp, 4095, SEEK_SET); /*将文件位置指针移动到文件末尾,-1是为了给后面要写入的“结束标志”留空间*/ fwrite(&end, 1, 1, fp);

2011-06-12 11:02:00 410

原创 Libcurl 教程

<!--v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}--> Normal 0 7.8 磅

2011-06-12 10:56:00 959

原创 WideCharToMultiByte的第四个参数特写

<br />int WideCharToMultiByte( UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, LPSTR lpMultiByteStr, int cbMultiByte, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar);cchWideChar[in] Size, in WCHAR v

2011-01-25 23:51:00 427

原创 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 988

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

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

2010-05-24 23:31:00 401

原创 Template Method 模式

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

2010-05-24 23:00:00 468

原创 双缓冲的说明

   双缓冲的原理可以这样形象的理解:把电脑屏幕看作一块黑板。首先我们在内存环境中建立一个“虚拟“的黑板,然后在这块黑板上绘制复杂的图形,等图形全部绘制完毕的时候,再一次性的把内存中绘制好的图形“拷贝”到另一块黑板(屏幕)上。采取这种方法可以提高绘图速度,极大的改善绘图效果。能理解到这一层,工作便变得简单了,只要四步就可以搞定了,看下面代码:例如在OnDraw()函数中可以如下所述

2010-04-08 12:26:00 410

原创 OnPaint和OnEraseBkgnd的区别

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

2010-04-08 12:25:00 583

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

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

2010-04-08 12:25:00 452

原创 InvalidateRect说明

     InvalidateRect是将窗口中的一块矩形区域标注为“无效”,系统会不断向窗口发送WM_PAINT消息令其重绘。在响应WM_PAINT消息时,需要调用BeginPaint获取DC来进行重绘。该函数会合并所有“无效”区域,对DC进行裁剪,将整个窗口标注为“有效”,清除WM_PAINT消息。DC经裁剪之后,在进行绘制时,超出DC范围的操作将不被处理,所以即使在响应W

2010-04-08 12:23:00 528

原创 窗口绘制小结

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

2010-04-08 12:22:00 388

原创 绘制CBitmap的方法

如果是在重绘函数如OnPaint中CDC memDC;memDC.CreateCompatibleDC(pDC);CBitmap* pOldBmp = memDC.SelectObject(&bmp);pDC->BitBlt(rt.left, rt.top, rt.Width(), rt.Height(), &memDC, 0, 0, SRCCOPY);memDC.Sele

2009-03-07 12:34:00 1027

原创 COM组件设计与应用2 - GUID 和 接口

COM组件设计与应用(二) GUID 和 接口 作者:杨老师 一、前言   书接上回,话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了。那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时候,它该如何启动

2008-07-19 01:01:00 356

原创 COM 组件设计与应用1 - 起源及复合文件

一、前言  公元一九九五年某个夜黑风高的晚上,我的一位老师跟我说:“小杨呀,以后写程序就和搭积木一样啦。你赶快学习一些OLE的技术吧......”,当时我心里就寻思:“开什么玩笑?搭积木方式写程序?再过100年吧......”,但作为一名听话的好学生,我开始在书店里“踅摸”(注1)有关OLE的书籍(注2)。功夫不负有心人,终于买到了我的第一本COM书《OLE2高级编程技术》,这本8

2008-07-19 00:59:00 307

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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