摘要: 一、静态控件透明化 前面我们介绍过,通过WM_CTLCOLORDLG消息来设置对话框背景,还有消息来设置其他控件得背景: WM_CTLCOLORBTN - 按钮 WM_CTLCOLOREDIT - 编辑框 WM_CTLCOLORLISTBOX - 列表框 WM_CTLCOLORSCROLLBAR - 阅读全文
posted @ 2016-10-20 22:58 甩锅侠 阅读(352) 评论(0) 推荐(0)
摘要: 1、将单字节Char转化为双字节的wchar_t的转换函数 wchar_t* c2w(const char *str){ int length = strlen(str)+1; wchar_t *t = (wchar_t*)malloc(sizeof(wchar_t)*length); memset 阅读全文
posted @ 2016-10-19 16:20 甩锅侠 阅读(261) 评论(0) 推荐(0)
摘要: 1.不规则窗口 如果想改变不规则窗口的大小怎么做呢?用鼠标已经没办法了,因为看不到边框了。 (1)通过工具将图片缩放后,在执行程序 - 虽然可以,但是太麻烦 (2)在绘制窗口背景时,使用StretchBlt函数来缩放图片 2.不规则窗口的要素 WS_EX_LAYERED属性、以位图为窗口背景(自己贴 阅读全文
posted @ 2016-09-21 15:53 甩锅侠 阅读(270) 评论(0) 推荐(0)
摘要: 1.不规则窗口 原理:用一个位图画刷绘制窗口背景,然后把想要透明的颜色设置为透明色,就可以使窗口变成任意形状。 运行效果: 阅读全文
posted @ 2016-09-19 13:53 甩锅侠 阅读(212) 评论(0) 推荐(0)
摘要: 1.窗口透明度 调节窗口透明度,先使用SetWindowLog函数给窗口加上WX_EX_LAYERED属性,再使用SetlayeredWindowAttributes指定窗口透明度。 //用于改变窗口的属性或在窗口的额外存储空间设置一个32位值 LONG SetWindowLong( HWND hW 阅读全文
posted @ 2016-09-19 10:59 甩锅侠 阅读(448) 评论(0) 推荐(0)
摘要: 1.WM_CTLCOLORDLG消息 在对话框画出来之前,系统将该消息发给对话框窗口。通过WM_CTLCOLORDLG消息来设置对话框文本和背景。 当窗口处理函数处理这个消息时,wParam表示对话框设备上下文(HDC),lParam表示对话框句柄。 如果处理了这个消息,返回一个画刷,系统用这个画刷 阅读全文
posted @ 2016-09-18 18:14 甩锅侠 阅读(919) 评论(0) 推荐(0)
摘要: 1.单例模式 保证系统中一个类只有一个实例。 如何实现Singleton的子类呢? 阅读全文
posted @ 2016-09-12 23:05 甩锅侠 阅读(153) 评论(0) 推荐(0)
摘要: 1.适配器模式 适配器模式将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容一起工作的哪些类可以一起工作。它包括类适配器和对象适配器。 (1)对象适配器 适配器容纳一个它包裹的类的实例,适配器调用被包裹对象的物理实体 例:STL中的双端队列,支持前后两端插入与删除。STL实现栈和队列 阅读全文
posted @ 2016-09-12 22:08 甩锅侠 阅读(237) 评论(0) 推荐(0)
摘要: 1.策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互交换。策略模式让算法独立于使用它的客户而独立变换。 例:高速缓存交换算法 给出Cache的定义,直接影响了客户的使用方式,关键在于如何指定算法 (1)直接通过参数指定,传入一个特定算法指针,如果使用这种方式,用户就要知道算法 阅读全文
posted @ 2016-09-11 19:17 甩锅侠 阅读(221) 评论(0) 推荐(0)
摘要: 一、工厂模式 (1)简单工厂模式 例:一个工厂只能够生产两种产品A和B,客户需要什么产品一定要显式地告诉工厂。 这种设计方式的缺点:要增加新产品时,需要修改工厂类。 违背了开放封闭原则:软件实体(类、模板、函数)可以扩展,但不可以修改。所以工厂方法模式出现了。 (2)工厂方法模式 工厂方法模式是对每 阅读全文
posted @ 2016-09-11 17:01 甩锅侠 阅读(408) 评论(2) 推荐(0)