Inno自定义界面学习笔记(一)

Inno自定义界面学习笔记(一)

最近在学习Inno的自定义界面,但是现在网络上的相关资料太杂,太乱,不成体系。这给初学者带来很多麻烦(包括我)。因此将自己的学习心得贴出来,方便后来者学习。

预学习

inno的脚本语言是pascal,诞生于上世纪六十年代,为了纪念十七世纪法国著名哲学家和数学家Blaise Pascal而来的。这是一门古老的语言,年龄比我还大!

pascal语言的语法规则跟C/C++还是有些区别的,建议在学习Inno前,先预学习Pascal语言。

这是学习教程:

Pascal 教程 - 蝴蝶教程d

Inno窗口区域介绍

先新建一个inno工程,生成一个默认的安装脚本

我们现在要做的功能是将去除原有背景,去除边框。先介绍下默认窗口的几个区域:

这是正常默认的安装窗口。它是分区域的。

 

绿色区域是 InnerNotebook (内围提示区)

红色区域是 OuterNotebook (外围提示区)

黑色区域是一条线 Bevel (上下分割线)

蓝色标识的是边框  BorderStyle 设置为bsnone 即可取消边框。

重写 InitializeWizard

我们要做的,就是隐藏内外围提示区,上下分割线,和边框。

在结尾增加code区。重写InitializeWizard();

先粘代码,然后讲解。

//代码区
[Code]

//函数声明:
//重载安装程序初始化函数
procedure InitializeWizard();
begin              
  //窗口分为几个区域,一个是内围(中间大部靠左),一个是外围(靠右部分),一个下部(高度较小的一个区域)
  WizardForm.InnerNotebook.Hide(); //隐藏内嵌的提示文字
  WizardForm.OuterNotebook.Hide(); //隐藏外围的提示文字
  WizardForm.Bevel.Hide();      //bevel是斜面的意思。但在此处是内外转与下部的分界线
  WizardForm.BorderStyle:=bsnone;//隐藏边框
end;

[Code] 声明下面这个区域是代码区

procedure 是pascal的关键字,声明下一段代码是一个过程,且没有返回值。(其与function的区别y就是没有返回值,而function是有返回值的)

InitializeWizard 中将窗口中的几个控件全部隐藏。其中的WinzardForm可以理解为Inno的内部变量,它不需要声明,可以直接使用。

效果:

这便是光秃秃的效果。

 

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
InnoSetup是一个开放源代码的安装程序制作工具,它提供了自定义安装界面的功能,可以方便地在安装过程中添加文本框等控件。以下是如何使用InnoSetup制作带有文本框的自定义界面的简要步骤: 1. 在InnoSetup的脚本文件中声明变量,用于存储用户在文本框中输入的内容。例如: ``` [Code] var MyTextBox: TNewEdit; function InitializeSetup(): Boolean; begin MyTextBox := TNewEdit.Create(WizardForm); MyTextBox.Parent := WizardForm; MyTextBox.Left := 100; MyTextBox.Top := 100; MyTextBox.Width := ScaleX(200); MyTextBox.Text := '请输入您的名字'; Result := True; end; function NextButtonClick(CurPageID: Integer): Boolean; begin if CurPageID = wpWelcome then begin MsgBox('您好,' + MyTextBox.Text + '!', mbInformation, MB_OK); end; Result := True; end; ``` 在上述代码中,通过使用TNewEdit控件创建一个文本框,并在InitializeSetup()函数中将其添加到安装向导中。在NextButtonClick()函数中,当用户点击“下一步”按钮时,会弹出一个消息框,显示用户在文本框中输入的内容。 2. 根据需要,可以对文本框进行进一步格式设置,例如设置文本框的字体、背景色等属性,以及添加输入限制等功能。例如: ``` MyTextBox.Color := clYellow; MyTextBox.Font.Style := [fsBold]; MyTextBox.MaxLength := 10; MyTextBox.CharCase := ecUpperCase; ``` 在上述代码中,通过设置MyTextBox的Color属性和Font.Style属性,使文本框的外观更加美观。通过设置MaxLength属性,可以限制用户在文本框中输入的字符个数;通过设置CharCase属性,可以将用户在文本框中输入的字符自动转换为大写字母。 3. 最后,可以将自定义界面整合到安装程序的完整过程中。在InnoSetup的脚本文件中,可以将各个自定义页面添加到页面序列中,并在各自定义页面中添加相应的控件。例如: ``` [Code] procedure InitializeWizard(); begin WizardForm.WizardPages.Add(CreateInputPage(wpWelcome, '欢迎使用InnoSetup', '请输入您的名字:')); end; function NextButtonClick(CurPageID: Integer): Boolean; begin case CurPageID of wpWelcome: begin if MyTextBox.Text = '' then begin MsgBox('请输入您的名字!', mbError, MB_OK); Result := False; Exit; end; end; end; Result := True; end; ``` 在上述代码中,通过使用CreateInputPage()函数创建一个自定义页面,并在其中添加一个文本框。在NextButtonClick()函数中,可以对用户在文本框中输入的内容进行检查,确保用户输入了有效的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值