如何在Inno中使用SkinSharp/SkinH_xx.dll皮肤控件
来源: 最后更新:2012-12-26 14:42 阅读: 840
评论(0)
去年,NSIS有人找到了SkinSharp,但是,我尝试之下,发现,这个插件对Inno的兼容不是很好。
当时,并未特别关注,所以没有详加测试。今天开始的时候又翻出来看了一下,发现SkinSharp其实是根据类名来判断是否支持的。
而Inno中的类名,都做了一些修改的,比如: TStaticText 被改成了 TNewStaticText;
其他的一些控件也有类似的情况,就是这个New导致了这些问题的存在。
这里是直接使用差生的差距:
这里直接拿出了两个窗体来做对比,可以看到系统的消息框是正常的,但是Inno的主界面是不正常的。
这就是因为那些加了 New类名的控件导致的问题。
问题既然找到了,那么来说一下解决方法吧:
1、把类名中的New去掉(这个我水平比较低,不太会)
2、换掉Inno自带的界面,重新生成一个(因为Inno也是有不带New类名的控件的)
我个人能想到的也就是这两种方法了,如果有更好的方法可以再次讨论。
下面附上头文件和脚本,如果编译不过,请使用 Inno集成版
至于插件,我这里用的是 VC版本的,梦想吧论坛有很多讨论的帖子,你也可以去官方下载:www.skinsharp.com
文中提到的文件下载:http://dl.kngstr.com/ish/SKinH.7z
- 上一篇: 已是第一篇
- 下一篇:Inno All-in-One Setup已开源(2013-11-14)>>