|
分享源码
界面截图: |
- |
是否带模块: |
纯源码 |
备注说明: |
- |
前言:
上次我们讲到:分组框美化、控件自绘、控件透明、美化皮肤模块的制作_精易论坛 肯定有人会有疑问,但没人反馈我就自问自答几个吧。
自问自答:
1.为什么“分组框_自绘”的类里有两个“创建”?
创建:是在父窗口上直接自绘的方式
创建自句柄:是在已有的控件(分组框)上自绘的方式
目的就是为了让模块既能随意创建控件,也能美化已有控件,即常说的“皮肤”
2.这段的意思是什么:风格 = 位或 (7, 67108864, 1073741824, 268435456, 风格)
7 - BS_GROUPBOX:分组框,67108864 - WS_CLIPSIBLINGS, 使窗口排除子窗口之间的相对区域
1073741824 - WS_CHILDWINDOW:子窗口,268435456 - WS_VISIBLE:可见状态
自然都是“风格”或叫“样式”,1073741824, 268435456这两个是基本风格,创建控件少不了这两个。
其它则根据创建的控件不同而改变。具体可以查看微软的MSN或者用助手的词库cha询。
3.“子类化”是什么鬼?
百du一下就知道它的含义了,哈哈!子类化的主要作用就是拦截窗口消息,这样才能自绘嘛。
类里用这个是为了方便,不用操心API的输入,它集成到GDIPlus类2.3.2里了,调用就行。
应该描述仔细了吧,下面就是这次的效果图。
上次模块里创建了一个“分组框_自绘”的类,这次再创建一个窗口类(暂时只有基本功能)。
这个“窗口_自绘”的类是透明的关键,为什么呢?我描述一下透明原理:
1.用“背景图形”复制一份我们自绘的窗口背景,放在内存中。
2.其它控件再从这里复制 相应位置 的一小块背景图(操作“全_背景场景”这个全局变量)
3.然后自绘控件时,把复制过来的一小块背景图作为控件的背景
4.最后在这一小块背景图自绘控件,从而实现伪透明。
也就是说所有自绘控件的背景都要从“全_背景场景”这个全局变量里去取,所以这个窗口类很重要。
问题:
1.由于增加了内容,叫分组框美化不合适了,所以改名了叫“自绘美化模块”
2.不透明还好,透明后一些瑕疵就出来了。比如标签有背景色,分组框的细节不完美等。
所以欲知后事如何,请看下次分解!
相关帖子集合:
第一帖:区域截图GDIPlus版、GDIPlus2.3.2修改版、图片框透明_精易论坛
第二贴:分组框美化、控件自绘、控件透明、美化皮肤模块的制作_精易论坛
源码:
下面这个模块下载过就不用重复下载了(除非自绘美化模块运行出错)。
GDIPlus2.3.2源码:
GDIPlus类2.3.2(修改版0.2).e
(603.42 KB, 下载次数: 5)
|
评分
-
查看全部评分
|