自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (11)
  • 收藏
  • 关注

转载 SSL 与 数字证书 的基本概念和工作原理

前言SSL是让人头大的东西,看起来很复杂,我学过信息安全课,但是对SSL仍然是模糊一片。对于数字证书也是一知半解,从来没有去认真研究过。只知道个大概,“反正就是对称加密和非对称加密”,详细的就不懂了。其实这些跟操作系统,计算机体系结构一样,是基础知识,即使你不是专门研究信息安全的,即使你平时用不到,这些东西也应该是必须了解的~ It’s not rocket science!我这篇文章

2014-04-16 11:01:00 726

转载 C#接口与抽象类区别实例

继承"基类"跟继承"接口"都在大多数情况下都能够实现某些相同的功能,但它们在具体使用场景也是有区别的(一). 接口的优势1.接口用于描述一组类的公共方法/公共属性. 它不实现任何的方法或属性,只是告诉继承它的类至少要实现哪些功能, 继承它的类可以增加自己的方法. 2.使用接口可以使继承它的类: 命名统一/规范,易于维护.比如:  两个类 "狗"和"猫",如果它们都继承了接口"动物",其

2014-04-15 16:03:20 569

转载 c# Invoke和BeginInvoke 区别

转自http://www.cnblogs.com/c2303191/articles/826571.htmlControl.Invoke 方法 (Delegate):在拥有此控件的基础窗口句柄的线程上执行指定的委托。Control.BeginInvoke 方法 (Delegate) :在创建控件的基础句柄所在线程上异步执行指定委托。(一)Control的Invoke和BeginIn

2014-04-04 15:57:57 483

转载 HTTP协议

HTTP协议主要有用于做客户端浏览器和Web服务器之间的一个通讯规则(TCP/IP)。该协议主要规定的是传输HTML(超文本)的格式,其中包含了很多的消息头信息,可以帮助底层的Socket进行识别具体的信息,那么对于开发者而言,如果掌握了HTTP协议的基本通信规则有利于后期的JavaEE开发。默认的浏览器是无法进行协议的通信内容查看的,因此我们浏览器上需要安装一个额外的插件:HTTP 

2014-01-23 10:01:38 562

原创 绘制半透明按钮——基础篇

写在前面的话:我能够做出半透明按钮,得感谢CSDN上很多人的帮助,给我耐心的指点,让我一点点的完成半透明按钮,所以我想把这个分享出来,虽然不是很难的技术,但是也许可以给需要的人一点点小的指导。1.绘制半透明按钮的思路:所谓的“透明”其实不是真的“透明”,而是子控件的背景和父窗口的背景一样,从而造成“透明”的视觉效果。所以绘制半透明的按钮的思路是:创建三个内存DC(当然,

2014-01-22 10:26:22 1232

转载 windows 绘制窗体时防止闪烁

如果一个程序出现闪烁现象,会让人觉得程序编写人员很马虎,缺乏对细节的足够重视。Windows程序的任何部分都没有任何理由出现闪烁现象。这篇文章的目的是告诉读者如何使用相关的技术防止窗口出现闪烁效果。 什么是闪烁闪烁可以这样定义:当后面一幅图像以很快的速度画在前面一幅图像上时,在后面图像显示前,你可以很快看到前面那一个图像,这样的现象就是闪烁。我认为,闪烁会让使用者对程序很不

2014-01-20 10:01:59 941

转载 MFC双缓冲绘图

BOOL CDataStructureView::OnEraseBkgnd(CDC* pDC) { CRect rc; CDC dcMem; GetClientRect(&rc); CBitmap bmp; //内存中承载临时图象的位图 dcMem.CreateCompatibleDC(pDC); //依附窗口DC创建兼容内存DC

2014-01-13 21:39:49 673

原创 自绘edit控件的边框,实现点中边框高亮的状态

1.edit控件没有DrawItem函数,客户区域的自绘需要在OnPaint()中完成,而非客户区域的自绘要在OnNcPaint()中完成2.edit控件的边框有2中状态,鼠标点中的状态和常态。这里依然用OnMouseMove和OnMouseLeave来追踪鼠标时在edit控件里面,还是外面。3.实现代码如下:MyEdit.h#pragma once#ifndef _

2014-01-12 11:29:19 1852

转载 BeginPaint和GetDC的区别

这是个windows编程问题。 第一种情况显示出来的字很正常。 case WM_PAINT:            gdc = BeginPaint (hwnd, &ps);            TextOut (gdc, 0, 0, s, strlen (s));            EndPaint (hwnd, &ps); break; 第二种情况显示的字不停

2014-01-06 21:31:26 913

原创 根据已绘好图的DC,用GDI+导出JPG图片

这是刚进公司做的一个小小小project,记录下GDI+一个使用的小方法.exportguiapi.h#ifndef _EXPORT_GUI_API_H#define _EXPORT_GUI_API_H#define EXPORT_TYPE_JPG 1#define EXPORT_TYPE_PNG 2#define EXPORT_TYPE_BMP 3class ImageSiz

2013-12-31 09:25:45 1141

转载 STL中的list容器的一点总结

1.关于list容器list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链表的主要优点,即:在链表的任一位置进行元素的插入、删除操作都是快速的。list的实现大概是这样的:list的每个节点有三个域:前驱元素指针域、数据域和后继元素指针域。前驱元素指针域保存了前驱元素的首地址;

2013-12-25 09:51:22 423

转载 深入浅出TCP之send和 recv

TCP滑动窗口机制一图胜千言,看下面的图。简单解释下,发送和接受方都会维护一个数据帧的序列,这个序列被称作窗口。发送方的窗口大小由接受方确定,目的在于控制发送速度,以免接受方的缓存不够大,而导致溢出,同时控制流量也可以避免网络拥塞。下面图中的4,5,6号数据帧已经被发送出去,但是未收到关联的ACK,7,8,9帧则是等待发送。可以看出发送端的窗口大小为6,这是由接受端告知的(事实上必须考

2013-12-23 21:57:19 763

转载 网络通讯的封包和拆包

对于基于TCP开发的通讯程序,有个很重要的问题需要解决,就是封包和拆包.一.为什么基于TCP的通讯程序需要进行封包和拆包.TCP是个"流"协议,所谓流,就是没有界限的一串数据.大家可以想想河里的流水,是连成一片的,其间是没有分界线的.但一般通讯程序开发是需要定义一个个相互独立的数据包的,比如用于登陆的数据包,用于注销的数据包.由于TCP"流"的特性以及网络状况,在进行数据传输时会出

2013-12-23 21:13:54 2162

原创 MFC 自绘button---基础篇

1.所谓自绘button,就是button的各种不同状态都需要我们自己绘制。button的基本状态有:鼠标在button外面,即鼠标离开button鼠标悬浮在button上方,没有按下鼠标按下button2.用WM_MOUSELEAVE和WM_MOUSEMOVE来追踪鼠标在button外,还是鼠标在button里面。由于窗口是不响应 WM_MOUSELEAVE消息的,所

2013-12-22 18:01:56 1006

原创 利用ADO连接ACCESS数据库,并进行读写操作(MFC)

1. 引入ADO库文件   使用ADO前必须在工程的stdafx.h文件最后用直接引入符号#import引入ADO库文件,以使编译器能正确编译。 #import "C:\Program Files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")2.CoInitialize(NULL); /

2013-12-19 12:11:17 3896 7

Database Generator

用于产生database,是用c#编写的

2014-07-23

可拖拽的 umleditor

基于code project上的umleditor进行改进,支持拖拽,可以将button拖到umleditor

2014-06-15

CButton 拖拽到umleditor

对code project上的umleditor进行修改,可以拖拽button

2014-06-15

MFC Grid Control拓展

对code project上的MFC Grid Control进行拓展

2014-06-15

可拖拽的ListBox

对CListBox进行拓展,可以支持拖拽操作

2014-06-15

C++多线程之注意事项(修改版)

描述了c++的多线程的注意事项。包括不能跨线程访问MFC对象等

2014-06-12

自绘的按钮

自绘按钮,继承CButton,按下按钮和抬起按钮状态不同

2014-06-12

CListBox拖拉到GridControl

自己对CListBox进行重写,支持拖拉操作

2014-06-11

2个grid control的拖拉

对code project上的MFC GridControl进行修改,用于2个GridControl之间的拖拉

2014-06-11

可以拖拽的CListBox

继承CListBox,可以执行拖拽。拖拽到grid control

2014-06-11

C++多线程之注意事项

总结C++中多线程要注意的事项,不能跨线程调用MFC对象等等

2014-06-11

空空如也

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

TA关注的人

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