zoukankan      html  css  js  c++  java
  • Inno Setup入门(二十二)——Inno Setup类参考(8)

    Install Setup 2013-02-02 11:31 477人阅读 评论(0) 收藏 举报

    列表框

    列表框(ListBox)是Windows应用程序中重要的输入手段,其中包括多个选项用户可以从其中选择一个或者多个,程序根据用户的选择做出相应的处理,列表框在外观上和存储框类似,但是行为却有很大的不同,列表框中项一般是预先给定的,而存储框则可以让用户进行输入,并且列表框中的项被选择之后也会触发事件。Pascal脚本中列表框的类由TlistBox实现,其定义如下:

    TListBox = class(TCustomListBox)

    property BorderStyle: TBorderStyle; read write;

    property Color: TColor; read write;

    property Font: TFont; read write;

    property MultiSelect: Boolean; read write;

    property Sorted: Boolean; read write;

    property Style: TListBoxStyle; 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类参考(8) - Castor - 趁年轻,多折腾~~

    下面的代码将演示列表框的使用:

    [setup]

    AppName=Test

    AppVerName=TEST

    DefaultDirName="E:TEST"

    AppVersion=1.0

    [files]

    Source:zzz.iss;Flags:dontcopy

    [code]

    var

    myPage:TWizardPage;

    list:TListBox;

    lbl:TLabel;

    procedure ClickListBox(Sender:TObject);

    begin

    lbl.Caption:='你选择的城市是:'+list.Items.Strings[list.ItemIndex]

    end;

    procedure InitializeWizard();

    begin

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

    list:=TListBox.Create(myPage);

    list.Parent:=myPage.Surface;

    list.Items.Add('北京');

    list.Items.Add('上海');

    list.Items.Add('香港');

    list.Items.Add('武汉');

    list.Items.Add('广州');

    list.OnClick:=@ClickListBox;

    lbl:=TLabel.Create(myPage);

    lbl.Parent:=myPage.Surface;

    lbl.Top:=list.Top+list.Height+10;

    end;

    list.ItemIndex返回列表框中选中项索引值,Items.Strings[list.ItemIndex]则是返回该索引值指代项的字符串值,安装页面如下:

    另外,列表框也有MultiSelect选项,表示列表框是否支持多选(在支持的前提下,需要按Ctrl键),但是这种性能并不是太好,个人觉得这个时候还不如用多选框效果更好。

  • 相关阅读:
    SQL一条语句统计记录总数及各状态数
    火狐登录国际账户
    HTML基础笔记
    增强for、lambda for、stream 遍历List 结束方法 or 跳过循环本次循环
    nginx
    前端问题总结
    Node.js
    Actuator
    ssh免密登录实现及Python实现
    【Mac渗透测试】之SQL注入Demo
  • 原文地址:https://www.cnblogs.com/atuo/p/4777719.html
Copyright © 2011-2022 走看看