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

    复选框  

        复选框(CheckBox)用于多个并不互斥的几个选项中作出一个或者多选择,例如字体可以有粗体、斜体和下划线,这三种状态可以任意组合,像这样的选项可以采用复选框实现。Pascal脚本中对应的类是TcheckBox,其定义如下:< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />

    TCheckBox = class(TCustomCheckBox)

      property Alignment: TAlignment; read write;

      property AllowGrayed: Boolean; read write;

      property Caption: String; read write;

      property Checked: Boolean; read write;

      property Color: TColor; read write;

      property Font: TFont; read write;

      < xmlnamespace prefix ="st1" ns ="urn:schemas-microsoft-com:office:smarttags" />property State: TCheckBoxState; read write;

      property OnClick: TNotifyEvent; read write;

    end;

           其层次模型如下:

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

    该类比RadioBox多继承了一个TcustomCheckBox,这样就有了更多的功能。下面的代码将演示复选框的使用:

    [setup]

    AppName=Test

    AppVerName=TEST

    DefaultDirName="E:\TEST"

    AppVersion=1.0

     

    [files]

    Source:zzz.iss;Flags:dontcopy

     

    [code]

    var

    myPage:TWizardPage;

    lbl:TLabel;

    chk1,chk2,chk3:TCheckBox;

    procedure ClickCHK1(Sender:TObject);

    begin

           if chk1.Checked then

                  lbl.Font.Style:=lbl.Font.Style+[fsBold]

           else

                  lbl.Font.Style:=lbl.Font.Style-[fsBold];

    end;

    procedure ClickCHK2(Sender:TObject);

    begin

           if chk2.Checked then

                  lbl.Font.Style:=lbl.Font.Style+[fsItalic]

           else

                  lbl.Font.Style:=lbl.Font.Style-[fsItalic];

    end;

    procedure ClickCHK3(Sender:TObject);

    begin

           if chk3.Checked then

                  lbl.Font.Style:=lbl.Font.Style+[fsUnderline]

           else

                  lbl.Font.Style:=lbl.Font.Style-[fsUnderline];

    end;

    procedure InitializeWizard();

    begin

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

           lbl:=TLabel.Create(myPage);

           lbl.Parent:=myPage.Surface;

           lbl.Caption:='请选择复选框,并注意文字的变化';

           chk1:=TCheckBox.Create(myPage);

           chk1.Parent:=myPage.Surface;

           chk1.Caption:='粗体';

           chk1.top:=lbl.Top+20;

           chk1.OnClick:=@ClickCHK1;

           chk2:=TCheckBox.Create(myPage);

           chk2.Parent:=myPage.Surface;

           chk2.Caption:='斜体';

           chk2.top:=chk1.Top+20;

           chk2.OnClick:=@ClickCHK2;

           chk3:=TCheckBox.Create(myPage);

           chk3.Parent:=myPage.Surface;

           chk3.Caption:='下划线';

           chk3.top:=chk2.Top+20;

           chk3.OnClick:=@ClickCHK3;

    end;

    程序运行效果如下:

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

           另外复选框还有一个重要的属性就是State,该属性指定了复选框的外观,可以有三个值,分别是cbUnchecked cbCheckedcbGrayed,即未选择、选择和未定,可以使用如下代码设定:

    chk1.State:=cbUnchecked;

    chk2.State:=cbChecked;

    chk3.State:=cbGrayed;

    效果如下:

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

     

    转自:http://www.360doc.com/content/13/0327/14/4221543_274240143.shtml

  • 相关阅读:
    .net序列化和反序列化(一)——自动序列化
    在Sql Server 2005使用公用表表达式CTE简化复杂的查询语句
    使用JQuery与iframe交互
    FCKeditor自定义工具栏和定义多个工具栏
    FCKeditor自定义非空验证
    PHP5.3.6的IIS配置
    Linux下缓存服务器的应用
    PHP采集程序中常用的函数
    关于PHP5.3.x和Zend Optimizer(Zend Guard Loader),以及shopex4.8.5安装的问题
    SQLserver数据库还原出现错误112(磁盘空间不足)的解决办法
  • 原文地址:https://www.cnblogs.com/xiurui12345/p/3096595.html
Copyright © 2011-2022 走看看