我刚才看了看别的帖子,里面有关于一个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的皮肤资源都是用文件形式直接保存在目录下的,我觉得这样做也有好处,不用另外做维护了!大家给我点意见吧!(未完待续)