Inno Setup 自定义界面心得

本文记录了使用Inno Setup创建Windows安装包时自定义界面的经验,包括加载32位BMP图片实现透明效果,使用TRichEditViewer展示富文本,获取磁盘空间信息,以及利用SetTimer实现进度条实时更新。还分享了安装界面速度优化和去除关闭确认框的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为项目需要,需要打 windows 安装包,要求安装界面完全按照需求来。作为没接触过这块儿的服务端宝宝,在此期间踩了很多坑。

坑不提也罢,最终结果圆满,记录下与大部分网上PO出来的做法不太一样的小心得,备忘。

网上搜到的自定义界面,都用的 botva2.dll ,我没用。应该说,用过,但遇到了图片变形的问题,短时间内没解决,所以最后全都用的 Inno Setup 原生类。Inno Setup 官方文档很详细,而且开源,所以原生用起来还是很顺利的。此前没接触过 Pascal 语言,但影响不大。

加载透明图片或按钮

网上多用 botva2.dll 来加载 png 图片,以达到圆角效果。由于遇到图片变形,我开始在官方文档里找替代方案。

Inno Setup 本身提供一个类 TBitmapImage 来支持带 alpha 通道的bmp 图片,也就是 32 位的 bmp 图片,支持透明效果。PhotoShop 中可通过添加 alpha 通道来生成 32 位 bmp 图。

显示图片方法:

val BmpImg : TBitmapImage;

BmpImg := TBitmapImage.Create(WizardForm); // 卸载时将 WizardForm 换为 UninstallProgressForm 即可
with BmpImg do
begin
    Parent := WizardForm;                  // 卸载时将 WizardForm 换为 UninstallProgressForm 即可
    Bitmap := TAlphaBitmap.Create;  
    Bitmap.AlphaFormat := afDefined;       // 须设置此值,才能读取图片的 alpha 通道,应在加载图片文件前设置
    Bitmap.LoadFro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值