关于程序界面(皮肤)解决方案的初步讨论

smatter 2004-08-16 01:31:31
我刚才看了看别的帖子,里面有关于一个EasySkin的工具,它就用一个dll就完成了对整个程序的装饰,我觉得很不错。
我估计他是用系统挂钩做的,如果可以的话,我也想用这种方法做!这样做达到了皮肤和主程序完全脱离,主程序只要装载这个DLL,并且只调用1、2和函数就可以了!

我想重新设计公司程序的界面,之前没有设计过,我是这样做的:
将所有的皮肤资源如bmp、jpg、gif等,都以二进制数据放到DLL里,在dll里维护一张表:
1、元素ID号,就是给这个元素一个编号,是由我自己定的,比如对话框背景DIALOG_BG 0x0001
2、资源ID号,就是元素ID号对应在DLL里的资源号,也就是IDR_XXX,这个值由系统维护,我只取宏
3、资源类型,就是加进DLL资源里之前的文件类型,到底是bmp还是jpg等
......(以上是主要的几个字段)

我用二进制资源是为了通用性和扩展性考虑(虽然有没有扩展还不知道,呵呵!)。

另外提一下QQ的皮肤资源都是用文件形式直接保存在目录下的,我觉得这样做也有好处,不用另外做维护了!

大家给我点意见吧!

(未完待续)
...全文
129 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
smatter 2004-08-16
  • 打赏
  • 举报
回复
我想问一下大家,如果是你们做的话,会怎么考虑和会怎么设计皮肤方案!
简单的讲一下就可以了,我也只是参考一下!
linzhengqun 2004-08-16
  • 打赏
  • 举报
回复
QQ的也不错呀,可以参考呀。
kaguo 2004-08-16
  • 打赏
  • 举报
回复
还是vclSkin好点,也可以和程序基本分离

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧