C++Builder之文本编辑(Edit、Memo)
1、AnsiString中第一个字符的下标为1而不是0;
2、TEdit组件
A、 PasswordChar 属性
密码替代字符。如果 TEdit组件用于密码输入时,可以通过设置此属性来实现。默认此
属性为0,即正常显示字符,如果用于密码输入,一般将其值改为’*’,这样不管在其中
输入什么字符,都只显示为星号,当然也可以设置为其他字符。
B、 OnChange事件
最常用的Edit 事件,当 TEdit 组件中的文本改变的时候触发。可以用于输入信息的及时
处理。比如在输入过程中,如果 TEdit组件中的文本是数据库中某人的名字,则适时显
示此人的其他信息,这就要用到 OnChange事件。
3、MessageBeep(MB_OK); //让电脑发声,提示输入不合法
4、TMaskEdit 组件
它的功能与 TEdit组件基本完全一样,只是它提供定制输入格式的功能,它通过过滤功能来限制输入到MaskEdit 中的字符数据,若输入的字符不合法,则拒绝接受,这对实现非常复杂的格式输入是很有用的。
5、TMemo 组件
A、 Lines是TMemo 组件最基本的属性,它用于存放 TMe mo 组件的文本,通过 Li ne s 属性,可以实现对文本的操作控制。Lines是一个TStrings 对象,存放一个字符串列表,Memo 中的文本便是以字符串表的形式存放 Lines中,Lines的一个数组元素存放 Memo 中的一行文本。如果要读取或者控制 TMe mo 组件中的全部文本,可以用 Te xt 属性;而要对 TMe mo 组件的文本进行行操作用Lines属性会非常方便。常用的行操作如下:
NumOfLine= Memo1->Line s->Count; //计算 Memo 中文本的行数
Memo1->Line s->Add("新添的一行文本"); //在文本尾部增加一行文本
Mem01-> Lines->Delete(3); //删除第四行文 本
Memo1 ->Lines->Insert(3," 插入的一行文本"); // 在第四行后插入一行文本
B、 ScrollBar
这个属性用来控制TMemo 组件是否使用滚动条。它的取值及对应意义如下:
ssNone 无滚动条
ssHorizontal 底部水平滚动条
ssVertical 右部垂直滚动条
ssBoth 同时使用水平和垂直滚动条
C、 wordWrap
该属性决定输入的文字到达编辑框的右边界的时候是否自动换行。这个属性在TMemo组件含有水平滚动条的时候失效。
6、如果要处理大量的文本数据,RichEdit 是最好的选择;并且RichEdit支持 RTF(Ri ch T ext Format )格式的文本,并且提供设置此种格式的属性和方法。RTF重要属性有:
A、 PlainText
指示是否以纯文本方式进行读写,缺省为false,即按照 RTF 格式读写。
B、DefAttributes 和SelAttributes
这是表示 RTF 格式的最重要的属性,它们记录了文本的各种特性数据,如字体、字号、颜色等等。不同的是,DefAttributes 属性用于指定新增文本的格式属性,而SelAttributes属性用于指定被选择文本的格式。
C、 Paragraph
用于设置或者返回当前所在段落的编排格式。
7、默认情况下你会发现,子窗体被创建之后,按窗体的关闭按钮,结果窗体只是最小化,而没有真正关掉,这涉及到窗体的 Action 属性,Action 属性用来指定窗体将要被关闭时执行什么操作,可以选择的值有:
Action的值 代表意义
caNone 窗体不允许关闭,所以按关闭按钮没有任何反应
caHide 窗体并没有关闭,只是隐藏不显示。【子窗体是不允许隐藏的!】
caFree 窗体被关闭,并且窗体占用的内存将被释放
caMinimize 窗体不关闭,而只是最小化。这是子窗体的默认值
例如,Action = caFree;表示关闭窗体,并且窗体占用的内存将被释放。不管是点击子窗体的关闭按钮或者是在程序中调用子窗体的Close函数都能实现对子窗体的关闭。