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

  • 相关阅读:
    车辆年检、强险、车船税的关系
    .Net下几种ORM
    Windows 刷新图标命令
    VUE-CLI + AntV G6 兼容IE11
    CentOS 7 下安装 JIRA 8.7 和 Confluence 7.3
    .Net Core,VUE,VS Code,Sql Sugar,Element UI学习笔记
    Nginx 缓存代理
    java对象锁和类锁
    线程的生命周期
    数据库分库分表
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/5751902.html
Copyright © 2011-2022 走看看