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

    本文转载自:http://blog.csdn.net/yushanddddfenghailin/article/details/17268473

    列表框

    列表框(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键),但是这种性能并不是太好,个人觉得这个时候还不如用多选框效果更好。

  • 相关阅读:
    pandas读写csv最简代码
    csv.read和csv.write
    交叉验证
    纪念被win10大更新搞崩的vbox
    c++中关于保留小数的小总结
    Java里的值传递与“引用传递”——一些想法
    Eclipse使用遇到的一些问题及解决方案(持续更新)
    Pray for 京阿尼——愿逝者安息,伤者早日康复
    洛谷p1208—混合牛奶【典型贪心】(关联排序小技巧)
    洛谷p1217—回文质数(默默宣传打表法)
  • 原文地址:https://www.cnblogs.com/wpcnblog/p/3884575.html
Copyright © 2011-2022 走看看