(转)Inno Setup入门(二十一)——Inno Setup类参考(7)
本文转载自:http://blog.csdn.net/yushanddddfenghailin/article/details/17268435
复选框
复选框(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;
其层次模型如下:
该类比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; |
程序运行效果如下:
另外复选框还有一个重要的属性就是State,该属性指定了复选框的外观,可以有三个值,分别是cbUnchecked、cbChecked和cbGrayed,即未选择、选择和未定,可以使用如下代码设定:
|
chk1.State:=cbUnchecked; chk2.State:=cbChecked; chk3.State:=cbGrayed; |
效果如下:
(转)Inno Setup入门(二十一)——Inno Setup类参考(7)的更多相关文章
- Inno Setup入门(十一)——完成安装后执行某些程序
Inno Setup入门(十一)——完成安装后执行某些程序 2011-02-16 16:24:23| 分类: Inno Setup | 标签:inno setup |举报 |字号 订阅 ...
- Inno Setup入门(十一)——完成安装后执行某些程序
有些时候我们的程序虽然能够很好的完成安装,但是程序的配置工作可能需要其他的一些程序来辅助完成,如果不执行这些程序,主程序就不能很好的完成工作,甚至不能完成工作,一个很明显的例子是,目前许多程序是通过N ...
- (转)Inno Setup入门(十一)——完成安装后执行某些程序
本文转载自:http://blog.csdn.net/yushanddddfenghailin/article/details/17250901 有些时候我们的程序虽然能够很好的完成安装,但是程序的配 ...
- Android入门(二十一)解析XML
原文链接:http://www.orlion.ga/685/ 解析XML常用的方式有两种,一种是PULL解析一种是SAX解析. 假设解析数据为: <apps> <app> ...
- [WebGL入门]二十一,从平行光源发出的光
注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明.我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语.假设翻译有误,欢迎大家指 ...
- OpenCV-Python 轮廓:入门 | 二十一
目标 了解轮廓是什么. 学习查找轮廓,绘制轮廓等. 你将看到以下功能:cv.findContours(),cv.drawContours() 什么是轮廓? 轮廓可以简单地解释为连接具有相同颜色或强度的 ...
- ios基础篇(二十一)—— UIImagePickerController类
UIImagePickerController简述: UIImagePickerController 类是获取选择图片和视频的用户接口,我们可以用UIImagePickerController选择我们 ...
- Npgsql使用入门(二)【实用助手类】
数据库映射的实体类: public class Test { public long TestID { get; set; } public string Name { get; set; } pub ...
- Inno Setup入门(一)——最简单的安装脚本
地址:http://379910987.blog.163.com/blog/static/3352379720110238252326/ 一个最简单的安装脚本: 1.最简单的安装文件脚本: [setu ...
- Inno Setup入门(十六)——Inno Setup类参考(2)
Inno Setup入门(十六)——Inno Setup类参考(2) http://379910987.blog.163.com/blog/static/33523797201112755641236 ...
随机推荐
- asp.net连接MySQL数据库错误-Out of sync with server
问题 网上说:http://wenda.haosou.com/q/1386389928069965 昨晚这个问题真的费了我不少时间(晚上9到凌晨2点),网上找解决方案,然后一个个尝试,没有成功.准备放 ...
- rsync的服务启动脚本
#!/bin/bash #author:Mr.chen # chkconfig: # description:This is Rsync service management shell script ...
- APUE学习笔记——8.11 实际用户ID、有效用户ID、设置用户ID
用户ID的基本概念 在Unix系统中,很多操作涉及到权限问题,这些权限涉及到用户ID和组ID的概念. 组ID和用户ID的原理和相关内容是类似的.下面介绍用户ID. 我们常见见到三种关于 ...
- Datesheet 参数手册
1 明白P/N每一个字是代表什么含义... 这很重要! EP6095-01-381 (CL10C010CBNNNC=CL10C010CB8NNNC ?)----8 代表Ni plating in te ...
- html 实体和htmlspecialchars()
HTML 中的预留字符必须被替换为字符实体. HTML 实体 在 HTML 中,某些字符是预留的. 在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签. ...
- React之事件处理
在react中,事件处理的写法和处理方式可能会和vue以及传统html有些不同. 一.事件名和默认行为阻止 事件名采用驼峰写法,并且方法名用大括号引入,而不是双引号: <button onCli ...
- vue-keep-alive
查看github源代码 https://github.com/Diamondjcx/vue-test Vue keep-alive实践总结 <keep-alive>是Vue的内置 ...
- 目标检测 - Tensorflow Object Detection API
一. 找到最好的工具 "工欲善其事,必先利其器",如果你想找一个深度学习框架来解决深度学习问题,TensorFlow 就是你的不二之选,究其原因,也不必过多解释,看过其优雅的代码架 ...
- Android中破解应用签名校验的后续问题处理方案(闪退和重启现象以及无效问题)
一.前言 之前已经写了一个爆破签名校验的工具kstools,很多同学也在使用,但是也反馈了不少问题,之前一篇文章也介绍了,关于爆破之后第三方登录问题修复,这篇我们在综合说明一下一些后遗症问题,关于ks ...
- vim 强大复制链接
参考文献: http://blog.csdn.net/xiyuan1999/article/details/5680102 vi编辑器中的整行(多行)复制与粘贴就非常必要了. 1.复制 1)单行复制 ...