相关文章推荐
斯文的紫菜汤  ·  java - ...·  1 年前    · 

单选按钮在安装中也很常见,例如同一个程序可以选择安装不同的性质的功能,例如选择32位或者64位等,两者是排他性的,因此可以通过单选按钮(RadioButton)来实现,在同一个容器中放置的单选按钮是自动带有排他性的,Pascal脚本中单选按钮的定义如下:

TRadioButton = class(TButtonControl)

property Alignment: TAlignment; read write;

property Caption: String; read write;

property Checked: Boolean; read write;

property Color: TColor; read write;

property Font: TFont; read write;

property OnClick: TNotifyEvent; read write;

property OnDblClick: TNotifyEvent; read write;

其继承关系如下图:

可见和按钮的层次模型是一样的,事实上,RadioButton和Button并没有太大的区别。唯一的区别是单选按钮的排他性。

下面的代码将在自定义向导页上添加一个文本框和两个单选按钮:

[setup]

AppName=Test

AppVerName=TEST

DefaultDirName="E:\TEST"

AppVersion=1.0

[files]

Source: "F:\desktop\Inno\ipmsg.exe";Flags:dontcopy

[code]

var

myPage:TwizardPage;

radio1,radio2:TRadioButton;

lbl:TLabel;

font:TFont;

{radio1的事件响应过程}

procedure ClickRadio1(Sender: TObject);

begin

lbl.Font.Color:=clRed;

end;

{radio2的事件响应过程}

procedure ClickRadio2(Sender: TObject);

begin

lbl.Font.Color:=clBlue;

end;

procedure InitializeWizard();

begin

myPage:=CreateCustomPage(wpWelcome, '标题:自定义页面', '描述:这是我的自定义页面');

lbl:=TLabel.Create(myPage);

lbl.Parent:=myPage.Surface;

lbl.Caption:='改变单选按钮的选项,我就会变色';

radio1:=TRadioButton.Create(myPage);

radio1.Parent:=myPage.Surface;

radio1.Caption:='红色';

radio1.Top:=lbl.Top+20;

font:=TFont.Create();

font.Color:=clRed;

radio1.Font:=font;

radio1.OnClick:=@ClickRadio1;

radio2:=TRadioButton.Create(myPage);

radio2.Parent:=myPage.Surface;

radio2.Caption:='蓝色';

radio2.Top:=radio1.Top+20;

font.Color:=clBlue;

radio2.Font:=font;

radio2.OnClick:=@ClickRadio2;

end;

该段代码中重点是单选按钮的OnClick事件,该属性所指向的过程决定了单选按钮被点击后的行为,安装文件运行到自定义页面后效果如下:

或许有人会问,如何在有多组不同的选项中做出选择呢?例如一边选择颜色,一边选择字体大小?对于这个问题,传统上Delphi是通过添加控件类TGroupBox来实现的,但是这个类在Pascal脚本是不支持的,所以Delphi中的方法行不通。虽然传统方法不行,并不代表Inno就无能为力了,最简单的方法就是创建两个页面,一个页面处理一种选项,另一个页面处理另一种选项(因此这里用前面的例子并不太好,主要是用来阐述单选按钮的使用),等用户都选完了之后,再统一执行。另外一种方法是使用其他控件,例如列表框(ListBox)。

单选按钮单选按钮在安装中也很常见,例如同一个程序可以选择安装不同的性质的功能,例如选择32位或者64位等,两者是排他性的,因此可以通过单选按钮(RadioButton)来实现,在同一个容器中放置的单选按钮是自动带有排他性的,Pascal脚本中单选按钮的定义如下:TRadioButton = class(TButtonControl)property Alignment: TAlignm... //改变欢迎页面文字的颜色(如图) WizardForm.WelcomeLabel1.Font.Color:=clNavy; WizardForm.WelcomeLabel2.Font.Color:=clTeal; WizardForm.WelcomeLabel2.caption:=WizardForm.Welc
Inno Setup 的使用。这个是来自程序自己有使用帮助。这一部分到 Setup section。这个也是东西最多的section。现在都还只是翻译,以后会增加相应的效果。 Inno setup 用iss后缀的script(脚本)文件来制作安装包,是.exe的。而script中,各个部分被组织在各个section里面。 虽然section有很多,但是它们都可以归为两 。 一 setup s...
前言:关于如何制作一个软件安装包的教程,与编程语言无关。以下,请看详情~ 1、下载 Inno Setup ,下载地址:https://jrsoftware.org/isinfo.php 2、下载最新版本即可。 说明: Inno Setup 软件没有提示具体开源协议版本,不过通过有关版权说明, 似于BSD开源协议。 具体可以也可以 参考 Inno Setup 的源码,开源项目地址:https://gith...
Inno setup 中级技巧介绍提前预习技巧内容1.修改界面上的提示语2.自动指定上一次安装的路径3. 安装时控制安装的路径,但是显示上次安装的路径4.卸载完成后不残留文件5.安装时运行批处理文件6.安装包制作过程中怎么调试7.控制面板中安装包显示的名字8.脚本中使用其他插件(.dll)的方法9.脚本太长时,include方式整理脚本总结(工具链接) Inno setup 是一个免费的wi...
Inno Setup 是一个广泛应用于Windows的自由安装软件系统。 Inno Setup 可以在编写安装脚本文件时,指示安装程序的操作,使得安装程序能够执行各种操作。 对于一些使用者来说,英文版 Inno Setup 比较困难,这就需要对其进行汉化。而 Inno Setup 5汉化可以通过修改 Inno Setup 的语言文件进行。 首先,需要下载 Inno Setup 官方网站提供的语言文件,该文件包含 Inno Setup 的各种语言版本,官网提供了简体中文语言文件,下载后把语言文件放到 Inno Setup 的主目录中。 然后,在 Inno Setup 的主程序中找到LanguageOptions参数,将其修改为"chinese_simplified",保存即可。 此外,在 Inno Setup 中还可以通过修改语言文件来自定义翻译内容。可以在语言文件中找到相应的字符串进行修改即可完成自定义翻译。如果不想自己翻译,可以到 Inno Setup 官方网站的论坛中下载其他用户翻译好的语言文件。 需要注意的是,在安装过程中,特别是在用户选项的页面中,对于预设的安装路径或安装目录,需要对其进行中文化处理,否则会导致使用者无法理解,造成误操作。 总之, Inno Setup 的汉化可以让中文用户更加方便地使用该软件,提高效率。通过简单的操作,可以在安装过程中了解每一步的操作,并顺利完成安装。
Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory 57115 Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory qq_34289209: 正解正解,我也是看别的项目切成低版本了,再启动高版本的就启动不了了 小程序调用微信支付返回错误 “调用支付JSAPI缺少参数:total_fee“ fc&&fl: 大佬您好,请问这个prepayid是如何生成的 element-ui 解决el-table表格错位问题 曙光祈愿: 各种方法都试过了,都不好使!测地服了 表情包 electron原生和<webview>的通信交互 weixin_43378027: 您好 请问这个问题解决了吗