注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

I? =Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

Inno Setup入门(二十一)——Inno Setup类参考(7)  

2011-03-10 22:23:43|  分类: Inno Setup |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

复选框  

    复选框(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 - 趁年轻,多折腾~~

 

  评论这张
 
阅读(2700)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016