VC/MFC
VB
Delphi
C++ Builder
C/C++
Java
.NET技术
MS-SQL Server
PowerBuilder
DB2
Oracle
Web 开发
Linux/Unix社区
硬件/嵌入开发
移动平台
您的位置:
程序门
->
delphi
-> 网络通信/分布式开发
vista以及msn的皮肤
[
收藏此页
] [
打印本页
]选择字色:
默认
灰色
红色
黄色
绿色
橙色
紫色
蓝色
褐色
墨绿
深蓝
赭石
粉绿
淡绿
黄灰
翠绿
综红
砖红
淡蓝
暗红
玫瑰红
紫红
桔黄
军黄
烟灰
深灰
灰蓝
背景色:
默认
黑色
红色
黄色
绿色
橙色
紫色
蓝色
褐色
墨绿
深蓝
赭石
粉绿
淡绿
黄灰
翠绿
综红
砖红
淡蓝
暗红
玫瑰红
紫红
桔黄
军黄
烟灰
深灰
灰蓝
字体:[
大
][
中
][
小
]
vista以及msn的皮肤
[已结贴,结贴人:zuoansuifeng]
发表于:
2007-01-16 09:15:06
楼主
rt:
ps:两个问题。
1:msn换肤;就是那种改变窗口的配色方案是否是把所有的控件放一个容器里面 比
如panel里面 然后全部一起改变色彩的缘故。(个人觉得应该不是用到拦截消息,在
窗体上重画的那种技术)
2:vista;vista的皮肤是如何实现以及vista有无皮肤包可下载?
望大家不吝赐教~~~
发表于:
2007-01-16 09:40:07
1
楼 得分:
0
自己up一下先~~~
发表于:
2007-01-16 09:52:45
2
楼 得分:
0
好
发表于:
2007-01-16 10:47:35
3
楼 得分:
16
msn是贴图的,要实现这样的效果要用自绘控件或第三方控件(见过一些商业控件不错,不知道有没有免费的)。改变颜色的话,就比较简单,直接改控件的背景就可以了。
发表于:
2007-01-16 11:04:12
4
楼 得分:
16
msn是用directx画出来的,特别是对话窗口,整个就一个hwnd,所有东东都是directx做的,主窗口还嵌入了几个webbrowse(广告)
vista是和xp一样的theme技术吧,有个服务配合的,操作系统也从底层就支持了
发表于:
2007-01-16 11:59:08
5
楼 得分:
16
哦,原来在这发了贴呢:)
发表于:
2007-01-16 12:35:33
6
楼 得分:
16
我觉得那个改变背景color,其实通过通道,就可以变换成不同的color了。。。
发表于:
2007-01-16 13:12:12
7
楼 得分:
16
businessskinform这组控件 可以实现更换皮肤
发表于:
2007-01-16 13:12:59
8
楼 得分:
16
倒是有个皮肤控件类似msn,不过要钱的,他好像就是用通道做的
msn的好像不是
发表于:
2007-01-16 13:25:16
9
楼 得分:
0
嘿嘿 感谢楼上各位的关心 小弟把这两天研究的皮肤原理实现贴上来
=====================================================================
皮肤研究
1:第3方控件
若用网上现成的控件的话可以有2种选择,第一种是很流行的vclskin,这个第三方的控件已经很程序了,只要设置一个激活的属性为true,然后有一个加载的皮肤的路径把皮肤静态的加载就可以了。第2种选择的话可以可以用appface苹果牌的dll,这是一个已经封装好的dll了,目前我也没有找到它的原码,appface.dll这个dll封装了皮肤实现的所有原码,以及接口函数的调用和实现,苹果皮肤的话可以去苹果的官网下载,这种dll比vclskin又有所不同,它的加载方式是动态的,我想加载哪一个皮肤的话就可以调用它的加载函数去加载,而vclskin是二个属性设置,他需要安装dpk控件包。其他的第3方的控件和这两种大同小异,这里总结出一个结论,若单一的调用vclskin显然比appface好很多,简捷,方便;而复杂的调用的话建议用appface,动态的调用想要的皮肤,实现轮换的效果。这里有appface的demo程序以及我自己写的一个vclskin的例子。appface的unitappface单元提供了这个实现皮肤的所有函数,具体的可以看自带的帮助。
2:换图片的方法
原理:换图片的方法原理就是拦截消息,在窗体上重画。mian给了我一个他写的demo,里面所实现的效果就是这种方法实现的,他的消息没有用到。他是通过把那些图片用设计工具把每个窗体上的一个部分给截取下来,然后通过ini文件的方式读取出来给一个tbitmap,最后加载上去的。delphi有自带的画bitmap这种图函数bitblt,bitblt这个函数在nt环境下,如在一次世界传输中要求在源设备场景中进行剪切或旋转处理,这个函数的执行会失败,而setwindowrgn这个api允许我们改变窗体的状态。combinergn这个api是利用两个区域组成一个新的区域,用fillrect这个api指定的刷子填充一个矩形达到背景色填充的效果。
3:msn皮肤
msn换肤,就是那种改变窗口的配色方案是否是把所有的控件放一个容器里面,比如panel里面 然后全部一起改变色彩的缘故。(个人觉得应该不是用到拦截消息,在窗体上重画的那种技术)后来咨询了一下猛禽,他告诉我说msn的换肤是根据贴图来的,这样的话我们就需要自绘控件,来达到那种效果。msn的改变配色方案的话就是改变控件的背景色彩,我想到一种方法就是把所有的控件放在panel上面,然后换背景色彩的时候改变panel的色彩,对本身的色彩进行画图运算。
总结:一般的第三方控件只支持delphi本身自带的控件,而我们的程序中如果用到自己封装的控件或则另外的第三方控件的话,这样是不支持的,得有我们自己来美化,来实现图片的重绘。
发表于:
2007-01-16 13:31:57
10
楼 得分:
0
起始我还是觉着标准的windows控件看起来舒服,除非客户有特殊需要
发表于:
2007-01-16 13:37:26
11
楼 得分:
0
是啊 呵呵 界面美观,功能齐全 所以现在写软件也跟着他的界面模仿咯
不然我才不要去研究什么vista 头痛ing~~~``
发表于:
2007-01-16 13:48:08
12
楼 得分:
0
没有办法。。。。。。
发表于:
2007-01-16 17:36:36
13
楼 得分:
4
贴图的
发表于:
2007-01-17 08:33:51
14
楼 得分:
0
msn还有动画,好像部分内容随机的,我以前简单看过那个鱼的,鱼游动没看到重复,不知道是动画比较长还是随机控制。
发表于:
2007-01-17 08:38:01
15
楼 得分:
0
msn的我知道是贴图搞上去的了~~~~~~
发表于:
2007-08-03 11:58:53
16
楼 得分:
0
这个也精华?
发表于:
2007-08-21 10:40:46
17
楼 得分:
0
好长时间没来了,都不知道自己等级了!
发表于:
2007-11-15 17:25:45
18
楼 得分:
0
这个也精华?
发表于:
2007-12-12 15:58:05
19
楼 得分:
0
精华,无语了
发表于:
2007-12-30 09:21:44
20
楼 得分:
0
这里探讨一个大方向上的问题,我觉得就不错啊
9楼zuoansuifeng说的就很很好
当精华帖子也不为过
个人觉得解决一个具体的技术问题不值得太炫耀
反而是这种抽象给人从思想观念上带来的改变才是最有用的。
下一篇:
查看某台机器上的某个服务是否已经启动?(解决后马上给分!!)
上一篇:
com+ interface not supported问题,有人知道怎么解决吗,困扰几天了?
相关文章
怎么从一个窗口运行到另外一个窗口去?
急救的问题,请大家帮忙!
如何取到哪个菜单项被选择了呢?
怎样遍历所有相同的按钮生成所有相同的事件过程,...
delphi第一个问题,启动相关
如何拦截函数的入口参数?
谁能提供一个api函数和程序函数的查询程序?
发个牢骚,折磨人的权限设计。
delphi 试题
求解!用dts到文本数据到数据库。
求救delphi執行procedure實現多線程的代碼
登录网站问题!!急死了!!
这句代码是什么意思呀?
sql语言高手请进!!!
请问delphi能否与vc,vb兼容使用?
用registerhotkey可以给控键注册多个热键吗?(如...
急需病案管理原代码
生日,散分+个人小作品[对战平台原理和delphi/cb...
跪求好心人告诉我一下dblistbox的作用
checklistbox问题,高手指教!
其他资讯
请教:菜单中没有使用权限的设为enabled:=false;...
delphi研究所:6324513
delphi 怎么取进程或程序目录?绝对给分
sql查询问题
如何快速地将文本插入到twebbrowser,并使twebbro...
如何在intraweb的iwflash中让*.swf文件播放?
关于ini的读取问题
>>---------------------------------求实...
我想知道这个sender是什么,怎么传递进来的,有什...
请问哪里有teechart7的帮助下载?
如何正确使用delphi为软件添加多种语言?(第一次...
请问有关打印dbgrid中数据的问题.
dbgrid数据刷新问题
单机版的 还原精灵  ...
<nodename>xxxx</nodename> 如...
toolbutton超级郁闷的问题,急待解决。
一个简单的问题请求帮助
远程执行cmd命令
rad studio 2007多语言版下载
要过年了,给xdjms散点分,祝大家奖金多多
快速检索
分类导航标签a
专题开发/技术/项目人工智能技术
VC/MFC界面
PowerBuilder控件与界面
Web 开发应用
Web 开发应用服务器
微软创新杯软件开发大赛短片制作竞赛
社区支持公告
硬件使用装机与升级及其他
企业开发SAP
其他数据库开发其他
其他数据库开发MySQL/Postgresql
JavaJ2ME
DelphiVCL组件开发及应用
PowerBuilder调用
MS-SQL Server应用实例
最新资讯
请教:eclpse3.2.2中tomcat配置问题..
如何用c语言链表实现两个实数的四则运算(无论这...
测试行业的薪水现状(择业新手必看)
setrop2(r2_not)
xlib 消息泵问题
itemtemplate中如何使用cs代码控制记录输出呢
菜鸟求助
while不支持嵌套麽??
天气,股票,等信息在哪获取?
拆分窗口拆分窗口后如何去掉分割条
新手提问。。帮我看下为什么?
求救:如何将属性页做成cdialogbar,就象msdn左侧停...
大哥们~!insert into 可以这样用吗?
jsp环境怎么配置?
走过路过不要错过
怎么才能快速获得可用分呀?
高手救命!(邹建请进)
在线编辑器如何过滤 <iframe name=...
.so文件怎么以二进制的形式打开阿?
这些控件是怎么添加进去的???
小弟初来乍到请多多关照
数据库模糊查询的怪问题
在线等待中。。。跪求高手相助
adventureworks示例数据库的安装(菜鸟问题)
请教大师
求教:同一个指针,在同一个类里,有的成员函数能调...
提问一个运行结果
收取邮件时如何获取每个邮件下载的进度?
关于连接搜索引擎
那位大虾帮看一下.新手一个简单的问题,在html中如...
软件升级问题
关于dataset更新数据库的问题(菜鸟级问题)
年底最后两组寻宝书送300论坛可用分和300c币活动...
如何能让vb不自动释放object对象?
哪全知道asp.net的,帮忙把php转换一下,只是一个很...
c语言和汇编,高手请来解惑
new
如何使用ctree控件?(最好有示例代码)
实时显示最新数据问题
层可拖动但不能输入值
热门点击
请问有没有将 e-r图 转化成sql语句或者...
请教一下
请看这个错误怎么解决?
如何设置label的背景色为透明
在vs2005中,怎样用快捷方式打开添加一个消息函数...
mt800(已开启路由)+netgear wgt624v3 ...
帮小弟看下这段代码:gridview模板列绑定dropdow...
pagecontrol做向导,想隐藏所有tab按钮和边框,可...
问一个关于vb.net 中textbox的问题
paint方法画图问题???
一个sql查询
在查询语名在的时候,想实现自动编号
flash8 qq群:17887403。期待你...
.net 2005中如何使用opengl?
高手都请进,帮我看看代码,小弟看不懂,太深奥了,谢...
旋转字体的问题
iframe嵌iframe,转页时遇到的问题
主键顺序的不同,查询代价为什么不一样。
我用fileupload上传文件,在tomcat中可以使用,可...
数据窗口的时时更新(刷新)问题!
关于servlet所遇到的问题
求助! win2003 iis 问题 加...
急寻poi高手解答(处女贴)
求助wince程序内存不足怎么办?
紧急,100分求助:客户端调用webservice函数传递对...
mcse2003 代考
求bcg464
2007年大家有什么打算??(散分)
dataset操作时遇到的问题
如何将jsp中的字符串,导出到本地的文本txt文件?...
js弹出窗口与主窗口数据进行交互,不用action,因...
用过chartfx这个控件的朋友来帮个忙。
新手问题: 另存为对话框
我需要开发一款图形绘制编辑软件,哪位高人能告诉...
投票系统显示不了多投票,不知怎么回事
如何在vb2005中如何获取动态绑定的datagridview指...
iis 7:rewriteurl 的问题
急,在线等, 关于一字符
怎么从数组中取这样的值
如何把sql的执行结果导入.txt文件中