09 2016 档案
摘要:1.不规则窗口 如果想改变不规则窗口的大小怎么做呢?用鼠标已经没办法了,因为看不到边框了。 (1)通过工具将图片缩放后,在执行程序 - 虽然可以,但是太麻烦 (2)在绘制窗口背景时,使用StretchBlt函数来缩放图片 2.不规则窗口的要素 WS_EX_LAYERED属性、以位图为窗口背景(自己贴
阅读全文
摘要:1.不规则窗口 原理:用一个位图画刷绘制窗口背景,然后把想要透明的颜色设置为透明色,就可以使窗口变成任意形状。 运行效果:
阅读全文
摘要:1.窗口透明度 调节窗口透明度,先使用SetWindowLog函数给窗口加上WX_EX_LAYERED属性,再使用SetlayeredWindowAttributes指定窗口透明度。 //用于改变窗口的属性或在窗口的额外存储空间设置一个32位值 LONG SetWindowLong( HWND hW
阅读全文
摘要:1.WM_CTLCOLORDLG消息 在对话框画出来之前,系统将该消息发给对话框窗口。通过WM_CTLCOLORDLG消息来设置对话框文本和背景。 当窗口处理函数处理这个消息时,wParam表示对话框设备上下文(HDC),lParam表示对话框句柄。 如果处理了这个消息,返回一个画刷,系统用这个画刷
阅读全文
摘要:1.单例模式 保证系统中一个类只有一个实例。 如何实现Singleton的子类呢?
阅读全文
摘要:1.适配器模式 适配器模式将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容一起工作的哪些类可以一起工作。它包括类适配器和对象适配器。 (1)对象适配器 适配器容纳一个它包裹的类的实例,适配器调用被包裹对象的物理实体 例:STL中的双端队列,支持前后两端插入与删除。STL实现栈和队列
阅读全文
摘要:1.策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互交换。策略模式让算法独立于使用它的客户而独立变换。 例:高速缓存交换算法 给出Cache的定义,直接影响了客户的使用方式,关键在于如何指定算法 (1)直接通过参数指定,传入一个特定算法指针,如果使用这种方式,用户就要知道算法
阅读全文
摘要:一、工厂模式 (1)简单工厂模式 例:一个工厂只能够生产两种产品A和B,客户需要什么产品一定要显式地告诉工厂。 这种设计方式的缺点:要增加新产品时,需要修改工厂类。 违背了开放封闭原则:软件实体(类、模板、函数)可以扩展,但不可以修改。所以工厂方法模式出现了。 (2)工厂方法模式 工厂方法模式是对每
阅读全文