`
qq173684423
  • 浏览: 28284 次
社区版块
存档分类
最新评论

Inno Setup入门(十八)——Inno Setup类参考(4)

 
阅读更多
编辑框

       编辑框也叫文本框,是典型的窗口可视化组件,既可以用来输入文本,也可以用来显示文本,是程序设计中最常用的组件之一,可以获取用户输入的许多信息。Pascal中的编辑框由类Tedit实现,该类的定义如下:

TEdit = class(TCustomEdit)

  property AutoSelect: Boolean; read write;

  property AutoSize: Boolean; read write;

  property BorderStyle: TBorderStyle; read write;

  property CharCase: TEditCharCase; read write;

  property Color: TColor; read write;

  property Font: TFont; read write;

  property HideSelection: Boolean; read write;

  property MaxLength: Integer; read write;

  property PasswordChar: Char; read write;

  property ReadOnly: Boolean; read write;

  property Text: String; read write;

  property OnChange: TNotifyEvent; read write;

  property OnClick: TNotifyEvent; read write;

  property OnDblClick: TNotifyEvent; read write;

  property OnKeyDown: TKeyEvent; read write;

  property OnKeyPress: TKeyPressEvent; read write;

  property OnKeyUp: TKeyEvent; read write;

end;

       该类的层次模型如下:

Inno Setup入门(十八)——Inno Setup类参考(4) - Castor - 趁年轻,多折腾~~

 

下面的代码将演示创建编辑框,以及编辑框的Text属性:

[setup]

AppName=Test

AppVerName=TEST

DefaultDirName="E:\TEST"

AppVersion=1.0

[files]

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

[code]

var

       myPage:TwizardPage;

       myBtn:TButton;

       ed1,ed2,ed3:TEdit;

procedure ClickmyBtn(Sender: TObject);

begin

       ed3.Text:=ed1.Text+' '+ed2.Text;

end;

procedure InitializeWizard();

begin

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

       myBtn:=TButton.Create(myPage);

       myBtn.Parent:=myPage.Surface;

       myBtn.Caption:='点我~';

       myBtn.OnClick:=@ClickmyBtn;

       ed1:=TEdit.Create(myPage);

       ed1.Parent:=myPage.Surface;

       ed1.Top:=myBtn.Top+30;

       ed1.Width:=myBtn.Width;

       ed2:=TEdit.Create(myPage);

       ed2.Parent:=myPage.Surface;

       ed2.Top:=ed1.Top+30;

       ed2.Width:=myBtn.Width;

       ed3:=TEdit.Create(myPage);

       ed3.Parent:=myPage.Surface;

       ed3.Top:=ed2.Top+30;

       ed3.Width:=myBtn.Width;    

end;

属性Text用于设置或获取文本框中的内容,注意不管是设置还是获取,参数一定必须是String的类型,运行效果如下:

Inno Setup入门(十八)——Inno Setup类参考(4) - Castor - 趁年轻,多折腾~~

 

如果是想实现两个数的代数运算,而不是字符串的拼接,则按钮的OnClick过程应该做如下修改:

procedure ClickmyBtn(Sender: TObject);

var

       a,b:Extended;

begin     

       a:=StrToFloat(ed1.Text);

       b:=StrToFloat(ed2.Text);

       ed3.Text:=FloatToStr(a+b);

end;

StrToFloatFloatToStr分别实现字符串转实数,实数转字符串。在第一、第二个文本框中输入数值后,点击按钮将第三个文本框中的内容设置为两数的和。下面再说说其他的属性。修改代码段如下:

[code]

var

       myPage:TwizardPage;

       myBtn:TButton;

       ed1,ed2,ed3:TEdit;

       a,b,c:String;

procedure ClickmyBtn(Sender: TObject);

begin

       a:=ed1.Text;

       b:=ed2.Text;

       c:=a+b;

       ed3.Text:=c;

end;

procedure InitializeWizard();

begin

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

       myBtn:=TButton.Create(myPage);

       myBtn.Parent:=myPage.Surface;

       myBtn.Caption:='点我~';

       myBtn.OnClick:=@ClickmyBtn;

       ed1:=TEdit.Create(myPage);

       ed1.Parent:=myPage.Surface;

       ed1.Top:=myBtn.Top+30;

       ed1.Width:=myBtn.Width;

       ed1.CharCase:=ecUpperCase;{大写}

       ed1.ShowHint:=True;

       ed1.Hint:='字母将会变为大写';

       ed2:=TEdit.Create(myPage);

       ed2.Parent:=myPage.Surface;

       ed2.Top:=ed1.Top+30;

       ed2.Width:=myBtn.Width;

       ed2.PasswordChar:='#';{密码样式}

       ed3:=TEdit.Create(myPage);

       ed3.Parent:=myPage.Surface;

       ed3.Top:=ed2.Top+30;

       ed3.Width:=myBtn.Width*2;

       ed3.ReadOnly:=true;{只读}

end;

上面介绍了四个属性:CharCase将设置文本显示的格式,可以有三个值:(ecNormal, ecUpperCase, ecLowerCase,分别为正常方式,大写方式,小写方式;PasswordChar属性将输入的文本替换为制定的样式;ReadOnly属性将使得该文本框不接受用户输入;HintShowHint属性是用户的鼠标停留在该文本框上时,给出相应的提示文本,注意只有在ShowHint设置为True的时候才会显示。

另外,编辑框也能对一些事件做出相应,例如单击、双击,文本内容发生变化等,实现起来和按钮的差不错,这里就不再啰嗦了。最后需要介绍的是三个处理按键的属性: OnKeyDownOnKeyPressOnKeyUp

       这三个属性是当用户光标停留在该文本框中时,当用户按下了键盘上的某个键时,会调用该属性指定的过程,测试代码如下:

 [code]

var

       myPage:TwizardPage;

       ed:TEdit;

procedure EditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

begin

       if (key=67) and (Shift=[ssAlt]) then

              Msgbox('你按下了Alt+c',MBInformation,MB_OK);

end;

procedure InitializeWizard();

begin

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

       ed:=TEdit.Create(myPage);

       ed.Parent:=myPage.Surface;

       ed.OnKeyDown:=@EditKeyDown;

end;

在编辑框中输入时,用户按下Alt+C组合时,将会做出响应,弹出一个消息框,这样可以对我们感兴趣的按键组合做出相应的动作,例如我们想屏蔽粘贴这项功能,则修改代码如下:

procedure EditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

begin

       if (key=86) and (Shift=[ssCtrl]) then

              Msgbox('粘贴无效,请手动输入',MBInformation,MB_OK);

       ed.text:='';

end;

不过这里要说明的是,这还不能屏蔽右键粘贴,只是屏蔽了Ctrl+V的方式。另外两个按键属性和这里介绍的KeyDown差不多,可对照测试一下。

分享到:
评论

相关推荐

    InnoSetup入门(PDF )

    《InnoSetup入门详解》 InnoSetup是一款广泛使用的安装包制作工具,尤其在Windows平台上,它以其简单易用和高度可定制性深受开发者喜爱。本教程将带你深入理解InnoSetup的基础和高级功能,逐步教你如何制作出专业且...

    Inno Setup入门教程

    #### 十九至二十二、Inno Setup类参考 - **基础知识**:深入学习Inno Setup提供的类库及其使用方法。 - **应用场景**: - 实现高级功能。 - 自定义界面。 - 调用API函数。 通过以上知识点的学习,开发者可以熟练...

    innosetup界面美化工具.zip

    innosetup安装界面美化: 解压压缩包中的 Inno Setup 5.5.zip,运行Inno Setup 5.5\Inno Setup 5\Compil32.exe,右上角可以改变语言。 打开build.iss文件,一些自定义字段请按需修改,点击Inno Setup工具栏中的 ...

    Inno Setup 6.2.1以及中文语言包

    "innosetup-6.2.1.exe"是Inno Setup 6.2.1的主要安装程序文件,用户可以通过运行这个文件来安装或升级Inno Setup的开发环境。这个执行文件可能包含所有必要的组件,如编译器、脚本编辑器和帮助文档,使得用户可以在...

    Inno_Setup入门——Pascal脚本.doc

    在Inno Setup中,Pascal脚本是一种强大的工具,用于自定义安装过程的行为。通过编写Pascal脚本,你可以控制安装程序的各个阶段,提供更个性化的用户体验。以下是基于提供的标题、描述和部分内容的关键知识点: 1. *...

    【innoSetup反向打包】innoextract

    Inno Setup是一个为Microsoft Windows应用程序创建安装程序的工具。innoextract允许在非Windows系统下提取此类安装程序,而无需使用wine运行实际的安装程序。innoextract 目前支持由 Inno Setup 1.2.10 到 6.2.1 ...

    inno setup中文帮助文档

    《Inno Setup中文帮助文档》是学习和掌握Inno Setup的必备参考资料,无论你是初次接触还是有经验的用户,都能从中找到解决问题的方法和优化安装过程的技巧。通过深入阅读和实践,你将能够充分利用Inno Setup的优势,...

    InnoSetup中文帮助

    ### InnoSetup中文帮助知识点详解 #### 一、InnoSetup简介 - **定义**:InnoSetup是一款专为Windows操作系统设计的免费安装程序制作工具。首次发布于1997年,经过多年的持续更新与优化,其在功能性与稳定性方面已...

    inno setup5.5.0.zip

    4. **自解压文件**:除了制作传统的安装程序之外,Inno Setup还可以生成自解压文件,用户只需双击即可自动进行安装,简化了分发和安装过程。 5. **源代码开放**:作为一款开源软件,Inno Setup的源代码可供开发者...

    InnoSetup6.0.3安装包与中文包.rar

    它的最新版本是6.0.3,这个压缩包“InnoSetup6.0.3安装包与中文包.rar”包含了该版本的安装程序以及中文语言包,使得国内用户能够方便地使用中文界面进行安装脚本的编写和安装程序的创建。 首先,我们来了解一下...

    Inno Setup 中文教程

    4. **程序启动**:Inno Setup允许在安装完成后执行自定义的脚本或程序,这在`[Run]`节中进行设置。 三、高级特性 1. **多语言支持**:Inno Setup支持创建多语言安装程序,只需编写不同的语言脚本文件并进行合并。 ...

    Inno Setup + 语言包

    Inno Setup是一款流行的安装制作工具,它被广泛用于创建Windows应用程序的安装程序。这款软件以其简单易用的界面和强大的功能而闻名。Inno Setup支持创建单文件安装包,自解压程序,以及多语言安装界面,使得开发者...

    innosetup 仿有道云安装包

    【标题】"innosetup 仿有道云安装包" 涉及的主要知识点是使用Inno Setup创建类似有道云笔记的安装程序。Inno Setup是一款免费且开源的安装制作工具,常用于创建Windows应用程序的安装包,它允许开发者自定义安装界面...

    Inno Setup 5.zip

    4. **多语言支持**:Inno Setup 5支持多语言安装包,可以方便地为不同地区的用户提供本地化的安装体验。 5. **自动更新机制**:通过编写特定脚本,Inno Setup 5可实现程序的自动更新功能,确保用户始终使用最新版本...

    innosetup安装界面美化.zip

    《InnoSetup安装界面美化深度解析》 InnoSetup,一款强大的Windows安装程序制作工具,以其简洁易用的脚本语言和丰富的自定义功能深受开发者喜爱。本资源包"innosetup安装界面美化.zip"专门针对InnoSetup的安装和...

    inno setup 增强版

    4. **自解压文件**:Inno Setup可生成自解压执行文件,用户只需双击即可开始安装过程,无需额外的解压缩工具。 5. **安装类型选择**:用户可以根据需求设置不同的安装类型,例如完整安装、最小安装或定制安装。 6....

    Inno Setup 6.1.0+ Chinese-Simplified-Translation 中文包

    Inno Setup是一款流行的安装制作工具,它被广泛用于创建Windows应用程序的安装程序。这款软件以其简单易用的脚本语法和强大的功能集而受到开发者们的青睐。本文将深入探讨Inno Setup 6.1.0及其对应的中文翻译包,...

    Inno Setup 6.1.0中文语言包

    Inno Setup是一款流行的安装制作工具,它被广泛用于创建Windows应用程序的安装程序。这款软件以其简单易用的脚本语法和强大的功能集而受到开发者们的青睐。标题中的"Inno Setup 6.1.0中文语言包"指的是Inno Setup的...

    innosetup安装包+中文语言包

    InnoSetup是一款流行的安装制作工具,它被广泛用于创建Windows应用程序的安装程序。这款软件以其简单易用的脚本语法和强大的功能集而受到开发者们的青睐。标题中的"innosetup安装包+中文语言包"表明我们拥有Inno...

    inno解包工具,可解加密的inno setup安装程序

    Inno Setup是一款流行的安装制作工具,它被广泛用于创建Windows应用程序的安装包。这款工具具有很多功能,包括创建自解压文件、支持多语言、定制安装界面等。然而,有些Inno Setup创建的安装程序可能会被加密,以...

Global site tag (gtag.js) - Google Analytics