Inno Setup界面拉伸
1、源起:
源于一个安装包的广告定制。广告客服提供的图片太大,inno setup默认尺寸容不下它,需要扩充,拉宽安装界面尺寸。
以inno setup所附带例子说事,其默认尺寸如下:
2、ScaleX
核心函数为ScaleX,其原型如下:
- function ScaleX(X: Integer): Integer;
作用为适应DPI,给指定的X值在X方向上做缩放。同理有ScaleY,本例用不到。
3、实现代码
Inno Setup中,写自定义函数,横向缩放窗体及其所属控件,并分类调整控件位置及宽度,完成界面缩放。
- [Code]
//横向拉伸长度const EXPAND_VALUE = ;- //遍历控件改其宽度
- procedure ExpandPageControl(AControl: TWinControl);
- var
- i: Integer;
- ctrl: TControl;
- wc: TWinControl;
- begin
- for i := to AControl.ControlCount - do
- begin
- ctrl := AControl.Controls[i];
- if (ctrl is TBitmapImage) and (ctrl <> WizardForm.WizardSmallBitmapImage) then Continue;
- if (ctrl is TButton) or (ctrl is TBitmapImage)then
- ctrl.Left := ctrl.Left + ScaleX(EXPAND_VALUE)
- else
- ctrl.Width := ctrl.Width + ScaleX(EXPAND_VALUE);
- if ctrl is TWinControl then
- begin
- wc := ctrl as TWinControl;
- if wc.ControlCount <> then
- ExpandPageControl(wc);
- end;
- end;
- end;
- procedure InitializeWizard();
- begin
- with WizardForm do
- begin
- Width := Width + ScaleX(EXPAND_VALUE);
- end;
- ExpandPageControl(WizardForm);
- end;
如此就基于WizardForm对安装窗体做X轴上缩放。
4、效果
如图示:
Inno Setup界面拉伸的更多相关文章
- Inno setup定制安装界面
Innosetup功能很强大,可以通过它提供的Wizard接口来定制界面,但我对PASCAL语言不熟悉,也不清楚通过那种接口可改动的范围有多大,最后做出来的效果是否好,所以选择了通过一个DLL来实现我 ...
- 以前编写的inno setup脚本,涵盖了自定义安装界面,调用dll等等应用 (转)
以前编写的inno setup脚本,涵盖了自定义安装界面,调用dll等等应用 (转) ; Script generated by the Inno Setup 脚本向导. ; SEE THE DOCU ...
- Inno Setup技巧[界面]添加和自定义左下角标签
原文 http://blog.sina.com.cn/s/blog_5e3cc2f30100cc49.html 本文介绍添加和自定义“左下角标签”的方法. 界面预览: Setup技巧[界面]添加和自定 ...
- Inno Setup技巧[界面]自定义安装向导小图片宽度
原文 blog.sina.com.cn/s/blog_5e3cc2f30100cj7e.html 英文版中安装向导右上角小图片的大小为55×55,汉化版中为55×51.如果图片超过规定的宽度将会被压 ...
- Inno Setup技巧[界面]欢迎页面上添加文字
原文:Inno Setup技巧[界面]欢迎页面上添加文字 本文介绍在"欢迎页面添加文字"的两种方法. 界面预览: Setup技巧[界面]欢迎页面上添加文字" title= ...
- inno setup 安装个界面提示信息修改
对于inno setup打包的安装文件,各界面中的提示信息可以在安装编译脚本 xxx.iss 中的 [Messages] 段设置,如果不知道要设置的信息的变量名,可以到 inno setup的安装目录 ...
- Inno Setup自定义安装界面脚本
; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "RemoteCard&quo ...
- inno setup脚本,涵盖了自定义安装界面,调用dll等等应用
; Script generated by the Inno Setup 脚本向导. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETU ...
- Inno Setup 版本 5.5.3+ 简体中文语言包
; *** Inno Setup 版本 + 简体中文消息 *** [LangOptions] LanguageName=<7B80><4F53><> Languag ...
随机推荐
- ActiveMQ 学习
链接: http://www.cnblogs.com/zhuxiaojie/p/5564187.html#autoid-1-0-0
- dpkg卸载
from:https://jingyan.baidu.com/article/f54ae2fc2724a71e92b849c4.html 选择 dpkg -l来查看软件的状态. 选择 dpkg -P来 ...
- C++复习:多态
多态 问题引出(赋值兼容性原则遇上函数重写) 面向对象新需求 C++提供的多态解决方案 多态案例 多态工程意义 面向对象三大概念.三种境界(封装.继承. ...
- 转:探讨JS合并两个数组的方法
我们在项目过程中,有时候会遇到需要将两个数组合并成为一个的情况. 比如: var a = [1,2,3]; var b = [4,5,6]; 有两个数组a.b,需求是将两个数组合并成一个.方法如下: ...
- Hibernate 再接触 树状结构设计以及学生课程成绩表的设计
1 树状结构的设计 package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax. ...
- python 装饰器的缺点以及解决方法
1.python装饰器的缺点 装饰器可以允许我们在不改变函数或犯方法的调用方式的情况下,添加额外的功能; 如下所示,我们要在中的方法之前增加装饰器check_is_admin,用来判断执行类的方法的用 ...
- 关于servlet转发和重新定向
1:重新定向, 是sendRdix(记忆关键词R),firbug中的请求是两个 2:转发 是dispt,(记忆关键词是F),firbug中的请求时一个
- 吴裕雄 python 机器学习-KNN(2)
import matplotlib import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import ...
- 吴裕雄 python神经网络 花朵图片识别(10)
import osimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Image, ImageChopsfrom skim ...
- Linux初学时的一些常用命令(1)
查看帮助: man 命令 退出帮助目录: q 切换目录:cd cd 目录 cd 目录/目录 cd .. :上一级目录 cd / :根目录cd ~ :回家 创建目录和删除目录 mkdi ...