• Inno Setup入门(二十二)——Inno Setup类参考(8)


    http://379910987.blog.163.com/blog/static/33523797201121331832201/

    列表框

           列表框(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;

    层次模型如下:

      

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

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

  • 相关阅读:
    开机提示grub可咋办啊
    Powershell学习之道-文件夹共享及磁盘映射
    linux查看python安装路径,版本号
    WP_Image_Editor_Imagick 漏洞临时解决方法
    在生产环境使用Docker部署应用
    PPTP服务器配置选项详解
    【Linux常见问题】Centos7的网络配置问题
    【大数据技术】HBase与Solr系统架构设计
    【大数据技术】操作系统和Hadoop版本选择
    【大数据技术】Sqoop
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/5751902.html
Copyright © 2020-2023  润新知