Inno Setup入门(二十)——Inno Setup类参考(6)
存储框
存储框也是典型的窗口可视化组件,同编辑框类似,可以输入、显示文本,但是和编辑框不同的是,编辑框只能编辑、显示单行文本,而存储框则可以对多行文本进行操作。存储框的类定义如下:< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />
TMemo = class(TCustomMemo)
property Lines: TStrings; read write;
property Alignment: TAlignment; read write;
property BorderStyle: TBorderStyle; read write;
property Color: TColor; read write;
property Font: TFont; read write;
property HideSelection: Boolean; read write;
property MaxLength: Integer; read write;
property ReadOnly: Boolean; read write;
property ScrollBars: TScrollStyle; read write;
property WantReturns: Boolean; read write;
property WantTabs: Boolean; read write;
property WordWrap: Boolean; read write;
property OnChange: TNotifyEvent; 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;
层次结构模型如下:
存储框同编辑框一样,都是继承自TcustomEdit类,但是在Tmemo上还有一个TcustomMemo类,该类添加了一个属性:Lines,即多行文本的操作。
下面的代码将演示编辑框的创建和属性。
[setup]
AppName=Test
AppVerName=TEST
DefaultDirName="E:\TEST"
AppVersion=1.0
[files]
Source: "F:\desktop\Inno\ipmsg.exe";Flags:dontcopy
[code]
var
myPage:TwizardPage;
radio1,redio2:TRadioButton;
mm:TMemo;
procedure InitializeWizard();
begin
myPage:=CreateCustomPage(wpWelcome, '标题:自定义页面', '描述:这是我的自定义页面');
mm:=TMemo.Create(myPage);
mm.Parent:=myPage.Surface;
mm.Text:='存储框测试';
mm.Lines.Add('这是新的一行');
mm.Lines.Insert(0,'我在最前面');
mm.Lines.Add('请删除我,第四行');
mm.Lines.Delete(3);
{行号从0排起,插入到前面}
mm.WordWrap:=True;{自动换行}
mm.WantTabs:=True;{接受Tab键}
mm.WantReturns:=True;{换行}
mm.ScrollBars:=ssVertical;{滚动条}
end;
运行效果如下:
下面说说存储框的属性。
由于存储框和编辑框许多属性都相同,这里就不再赘述了,主要说说编辑框的几个特殊属性。ScrollBar指明了存储框的滚动条状态,可选值有ssBoth、ssHorizonal、ssNone、ssVertical,其含义如值所描述。WantReturns属性决定按Enter键之后是点击确认按钮(对应属性值为False)还是存储框换行(对应属性值为True),如果设置该值为False而又想在编辑框中换行时,必须按Ctrl+Enter键,这和QQ的发送消息框是一样的。WantTabs属性决定按下Tab键是切换窗口中组件的焦点(对应属性值为False)还是在存储框中移动光标(对应属性值为True),如果设置该值为False而又想在编辑框中移动光标时,必须按Ctrl+Tab键。最后的一个属性是WordWarp,该属性决定存储框文本输入时是否自动换行,属性值为True则自动换行,为False则不能自动换行。注意如果设置了ScrollBars属性为ssBoth或者ssHorizonal,将不会自动换行,因为滚动条会自动调节宽度。
另外就是Lines属性。该属性其实本身也是一个类,属于Tstring,该属性主要用于操作存储框中的一行文本,可用的函数有Add、Clear、Delete、Insert、Count等。
Inno Setup入门(二十)——Inno Setup类参考(6)的更多相关文章
- Inno Setup入门(十六)——Inno Setup类参考(2)
Inno Setup入门(十六)——Inno Setup类参考(2) http://379910987.blog.163.com/blog/static/33523797201112755641236 ...
- Inno Setup入门(十五)——Inno Setup类参考(1)
分类: Install Setup 2013-02-02 11:27 536人阅读 评论(0) 收藏 举报 nno setup脚本能够支持许多的类,这些类使得安装程序的功能得到很大的加强,通过对这些类 ...
- (转)Inno Setup入门(十五)——Inno Setup类参考(1)
本文转载自:http://blog.csdn.net/yushanddddfenghailin/article/details/17250955 nno setup脚本能够支持许多的类,这些类使得安装 ...
- Inno Setup入门(十五)——Inno Setup类参考(1)
Inno setup脚本能够支持许多的类,这些类使得安装程序的功能得到很大的加强,通过对这些类的使用,将会创建出许多让人惊奇的安装程序,下面开始类的学习. 创建自定义向导页 自定义向导页需要在Init ...
- Inno Setup入门(十九)——Inno Setup类参考(5)
: Install Setup 2013-02-02 11:29 377人阅读 评论(0) 收藏 举报 单选按钮 单选按钮在安装中也很常见,例如同一个程序可以选择安装不同的性质的功能,例如选择32位或 ...
- Inno Setup入门(十八)——Inno Setup类参考(4)
分类: Install Setup 2013-02-02 11:29 406人阅读 评论(0) 收藏 举报 编辑框 编辑框也叫文本框,是典型的窗口可视化组件,既可以用来输入文本,也可以用来显示文本,是 ...
- (转)Inno Setup入门(十九)——Inno Setup类参考(5)
本文转载自:http://blog.csdn.net/yushanddddfenghailin/article/details/17251019 单选按钮 单选按钮在安装中也很常见,例如同一个程序可以 ...
- (转)Inno Setup入门(十八)——Inno Setup类参考(4)
本文转载自:http://blog.csdn.net/yushanddddfenghailin/article/details/17251009 编辑框 编辑框也叫文本框,是典型的窗口可视化组件,既可 ...
- Inno Setup入门(十九)——Inno Setup类参考(5)
单选按钮 单选按钮在安装中也很常见,例如同一个程序可以选择安装不同的性质的功能,例如选择32位或者64位等,两者是排他性的,因此可以通过单选按钮(RadioButton)来实现,在同一个容器中放置的单 ...
- Inno Setup入门(十八)——Inno Setup类参考(4)
http://379910987.blog.163.com/blog/static/3352379720112122533866/ 编辑框 编辑框也叫文本框,是典型的窗口可视化组件,既可以用来输入文本 ...
随机推荐
- POIXV Permutation
Description Multiset is a mathematical object similar to a set, but each member of a multiset may ha ...
- Chapter 2 Open Book——28
I kept my voice indifferent. "May I?" 我尽量让我的声音显得不那么突兀,我能试试吗? 我尽量让自己的声音显得漠不关心.“可以让我看一下吗?” H ...
- boostrap插件
第一章:模态弹出框 一.导入JavaScript插件 Bootstrap的JavaScript插件可以单独导入到页面中,也可以一次性导入到页面中.因为在Bootstrap中的JavaScript插件都 ...
- Intellij Idea web项目的部署配置[转]
原文地址:http://blog.csdn.net/z69183787/article/details/41416189 1.前言 2.项目配置(Project Structure) 2.1 Proj ...
- 读书笔记之C# delegate
c#代理的使用主要在:需要将一个方法当做参数传递到另一个方法时. 比如启动一个线程执行任务,而这个线程要执行的方法可以通过代理传递过来. 代理包括一个方法或者多个方法的地址和C++的函数指针很相似,但 ...
- mac 上面安装mysql-python
安装过程中一直报错: EnvironmentError: mysql_config not found 最终下面的方式解决: 58down voteaccepted +200 Ok, well, fi ...
- Delphi用ADOquery主从表例子(转总结)
http://blog.csdn.net/kandy_zheng/article/details/1639184 在sql server 的northwide 中建立主表 create table s ...
- [转]详细的mysql时间和日期函数
这里是一个使用日期函数的例子.下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DAY ...
- Openjudge-计算概论(A)-取石子游戏
描述: 有两堆石子,两个人轮流去取.每次取的时候,只能从较多的那堆石子里取,并且取的数目必须是较少的那堆石子数目的整数倍.最后谁能够把一堆石子取空谁就算赢. 比如初始的时候两堆石子的数目是25和7 2 ...
- html5+css3学习笔记音频和视频
格式 IE Firefox Opera Chrome Safari Ogg No 3.5+ 10.5+ 5.0+ No MPEG 4 9.0+ No No 5.0+ 3.0+ WebM No 4.0+ ...