自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

转载 模板模式和策略模式的区别

根据《深入浅出设计模式(C#/Java版)》所述,Strategy模式的应用场景是:1. 多个类的分别只是在于行为不同2. 你需要对行为的算法做很多变动3. 客户不知道算法要使用的数据 Template Method模式的应用场景是:1. 你想将相同的算法放在一个类中,将算法变化的部分放在子类中实现2. 子类公共的算法应该放在一个公共的类中,避免代码重复

2011-12-30 10:36:03 15466 4

转载 [探讨java深入的不变模式] java中String类的用法

不变模式(Immutable Pattern)顾名思义,它的状态在它的生命周期内是永恒的(晕,永恒的日月星晨,对象如人,太渺小,谈不上永恒!),不会改变的.对于其中的不变类(Immutable Class),它的实例可以在运行期间保持状态永远不会被改变,所以不需要采取共享互斥机制来保护,如果运用得当可以节省大量的时间成本. 请注意上面这段话,不变模式其中的不变类,说明不变类只是不变模式中一

2011-12-29 19:57:24 3541 1

原创 ATL::CMessageFilter的作用

消息过滤:消息过滤是这样一种技术,在你的程序中,在GetMessage函数将消息成功放入你的消息队列之后Translate/DispatchMessage函数处理它之前给一个机会给你处理!class CxxDialog    : public ATL::CWindowImpl    , public CMessageFilter

2011-12-29 13:58:00 2382 1

原创 ATL3.0中的窗口类-客户端使用ATL创建DUI框架的起点

摘要:讨论Active Template Library (ATL) 3.0中的一些类,这些类围绕着Windows API建立了一个面向对象的编程框架,使用这个框架,可以简化Microsoft® Windows®编程并且只需要很少的系统开销。内容包括:考察对窗口做了简单封装的CWindow类;使用CWindowImpl进行消息处理和消息映射;使用ATL中的对话框类以及扩展现有窗口类

2011-12-29 10:02:38 1418

原创 ATL中对智能指针在STL中的错误处理进行了一层CAdapt模板类封装

RT:CAdapt>

2011-12-25 12:30:27 526

转载 有关CComPtr&CComQIPtr,CComBSTR,CComVariant,CAutoPtr的设计思想的分析

这三种类型的封装类都对其封装类型进行包裹,尤其是提供分配内存以及释放内存。在设计思想上不同的是:CComPtr&CComQIPtr:用于维护COM的接口,l 对于构造函数和赋值等于,n 无论传入T还是CComPtr,都直接或间接AddRef(相当郁复制)并不是owner相应的T。也就是说通过构造函数或赋值等于传入的T还是由外部来owner释放。不addRef

2011-12-24 13:59:07 805

转载 NCpaint, 非客户区实现阴影

在WINDOWS的WINHELPER帮助系统中大量使用一类带阴影的弹出窗口,这类窗口非常简洁,并具有立体感,它们用来显示一些只读信息,此类弹出窗口不同于一般的窗口,它们没有标题和滚动杆,但都具有带阴影的边框,并且其窗口的大小随显示字符串多少而自动调节,当显示信息弹出之后,任何来自键盘或鼠标的消息都将导致弹出窗口的消失。然而WINDOWS API接口中没有现成的函数来实现此项功能,即使是最新版的VI

2011-12-22 12:44:58 4949

原创 [windows][ui]计算字符宽度

int CalTextWidth(const CString& strText, HDC hDc){    CRect rc(0,0,0,0);    ::DrawText(hDc, strText, strText.GetLength(), &rc, DT_CALCRECT| DT_NOPREFIX);    return rc.Width();}DT_C

2011-12-15 11:29:48 879

原创 [windows][UI] WM_MOUSEACTIVATE

当用户单击一个非激活的顶级窗体,或非激活的顶级窗体的子窗体时,系统就会发送WM_MOUSEACTIVATE消息(还包括其他消息)给顶级窗体或子窗体,该消息在WM_NCHITTEST消息之后,但在button-down消息之前。当把WM_MOUSEACTIVATE消息交给DefWindowProc函数处理时,系统激活该顶级窗口并投递button-down消息。  通过处理WM_MOUSEACTI

2011-12-15 11:28:30 4314

鼠标手势demo

鼠标手势的demo,支持各种手势,采用vs2005编译测试通过

2012-12-14

空空如也

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

TA关注的人

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