屏幕组件(CoolBar)
屏幕组件位于【Win32】组件页的页面上,是由Windows95引入的,用于在可移动并且可以改变大小的显示栏中显示一个系列的窗口组件。最典型的例子就是Windows95以及其后续版本98,2000,xP的任务栏。
MaskEdit的EditMask使用方法(转)
最近需要一个可控制输入输出格式的编辑框,不过Delphi中却没有满足要求的控件,想自己弄一个吧!结果没想到Delphi一如既往地连正则表达式都没有支持,不考虑自己编写正则表达式Parser的可行性,从头写个正则表达式编辑框时间上也不允许。没办法,将就下用MaskEdit吧!
顺便也了解下EditMask具体用法 下面的内容是网上找的
掩码编辑框(MaskEdit)是一种特殊的编辑框。使用它可以设计出许多复杂的输入格式。在选用MaskEdit之后,需要为它设计一个输入格式。方法如下:
首先在窗体上将MaskEdit选中,在对象查看器(Object Inspector)中找到EditMask属性,双击它,弹出一个如下图所示的对话框。
对话框左上角的Input Mask编辑框用于输入掩码格式。掩码格式可以分为三部分,每个部分之间用分号“;”分开,如“!90:90:90:;1;_ ”。下面解释各输入格式符的意义:
1. 输入格式的第一部分是掩码本身,也就是数据输入格式。在这一部分用一些特殊的格式符来表示应输入的字符类型及格式,如“!l0A9:C>ll<”这样一串输入格式掩码。常用的MaskEdit输入格式符有: 格式符意义
L和l L表示该位置只能填一个字母。l和L一样,但允许不填。 A和a A表示该位置只能填一个字母或数字。a和A一样,但允许不填。 C和c C表示该位置可以填任意字符。c和C一样,但允许不填。 0和9 0表示该位置只能填一个数字。9和0一样,但允许不填。
<和> <格式符表示随后的字母均以小写的形式显示,直到遇到一个>格式字符或<>格式符。>格式符则和<正好相反。
<> 表示不作大小写转换,以输入时的形式为准。
\\ 表示该格式符之后的那个掩码格式符将作为数据中的普通字符对待。当用户想在数据中放进一个普通字符,而不希望作为掩码格式符被解析时,就可以在这个字符前放一个\\符号。如\\A,\\\\等等。
# 表示该位置可以填一个数字或正负号,或什么都不填。
! !格式符只能放在掩码格式符的第一个字符处,表示输入的数据的前导空格将被去除(即读取EditMask控件值的时候将没有这些空格),没有!则数据后的空格将被去除。 ;和/ 标准的分隔符,可作为数据的一部分。其中/在显示时为?-?而非?/?。
2. 在输入格式中的第二部分只有0和1两种选择。如为1,则掩码中的非用户输入数据和标准分隔符等其它各种字符会作为数据的一部分保存;为0则不保存。 3. 输入格式的第三部分用于表示数据中的空位用哪个字符代替显示。
在有了上述知识后,现在来设计一个例子。例如要输入一个汽车牌号如CA-300019 。该数据前两位为字母且为大写,第三位为一个系统分隔符号,后6位为数字。可以这样设计掩码格式:
!>LL/000000;1;_
掩码的第二部分取为1表示系统分隔符?-?也将作为数据保存。第三部分的“_”表示在掩码编辑框中为空时,用“_”来表示空位。我们也可以用空格来标识空位。
又如一个邮编如PO-100083,其中PO表示邮政,是每个邮政编码中都有的前缀,可以这样设计掩码格式: !PO/000000;1;_
在掩码设计对话框的右侧是Sample Masks,这里有系统预设的常用的掩码格式,如电话号码(Phone)、日期(Date)等。我们可以选择一个,然后进行必要的调整。对话框左下部是一个Test Input栏,我们可以在这里输入字符,以检测输入格式是否令人满意。 首先我想问一下,不会是写错了吧,好像是TMaskEdit对象吧
EditMask主要是用来设置掩码(Mask)的指定子符,换言之,我们可以利用MaskEdit对象所提供的EditMask属性强迫使用者输入合法的字符
你只要点击EditMask属性右面的按钮就可以打开Input Mask Editor对话框,你可以在右面的Sample Masks中点击来选择一个预设的格式,也可以在Input Mask中直接输入掩码子
符串,左下角的输入框是用来对你在左上脚定义的掩码格式做输入测试的,它也是最终显示在MaskEdit1中的格式。
至于掩码的格式子符有许多种,在这里一一例举不太可能,我只能给你几个常用的 # 其所对应的位置只能输入数字或正负号,但不一定要输入 9 其所对应的位置只能输入数字,但不一定要输入 0 其所对应的位置只能输入数字,一定要输入 c 其所对应的位置只能输入子符,但不一定要输入 C 其所对应的位置只能输入子符,一定要输入
! 假如!子符出现在TMaskEdit掩码子符中,则\子符前的空格不会被存为数据 / 通常用来分隔日期中的年月日等数据 _ _处自动插入一个空格 ; 用来分隔各个部分 比如你所说的
2002-12-5 就可以写为 !0000/00/0;1; 或 0000/00/0;1;
其中最后一个1表示掩码子符会保存在数据中,比如说?/',如果为0就表示不保存 ;用来分隔各部分,0表示必须输入一个数字,/表示分隔符'-',
屏幕组件的主要属性:
· BandBorderStyle属性:用来设置屏幕组件内的线条类型。 · Bands属性:用来获得屏幕组件的每个屏幕。 ·.Bitmap属性:用来指定在屏幕组件的图像。
· FixedOi·der属性:用来指定用户能否重新排列屏幕组件。为Trile时,用户可以通过鼠标拖动它们来改变位置。
·Show text属性:用来获得或设置是否显示丈本。
·Vertical属性:设置为.False时,则屏幕先按从左到右再按从上到下排列。设置为True,则屏幕先按从上到下再从左到右排列。默认值为False。
工具栏组件(ToolBar)
工具栏组件位于[Win32]组件页的页面上,用来管理工具按钮和其他的组件,它把这些组件排成行,自动调节大小和位置。 工具栏组件的主要属性:
·AutoSize属性:用来指定工具栏是否自动调节大小。 · ButtonCount属性:用来获得工具栏中的按钮数。
· ButtonHeight属性:用来获得或设置组件的高度,单位为像素。 · Buttons属性:用来获得工具栏中ToolButton实例的列表。
·Flat属性:设置为True时,可以使工具栏以及它的按钮透明,显示背景色和背景图,设置为False时,工具按钮具有弹出式边界。 ·RowCount属性:用来指定工具栏的行数。
·ShowCaption属性:设置为 True时,工具按钮显示文本标题。 [例5—10]工具栏组件的设计。
(1)双击工具栏组件可以自动生成一个工具栏组件。 (2)右击 ToolBarl,选New Button加工具按钮。 (3)右击 ToolBarl,选New Seperator加分界符。
(4)重复步骤(2)和步骤(3),并且设置工具按钮的各个属性,可以得到如图5—14的结果。
控制条(ControlBar)
控制条组件 位于【Additional】组件页的页面上,用来设定控制条的活动范围。添加控制条组件后,可以直接在控制条里加组件,此时加入的组件会自动形成一个相对独立的工具栏,也可以在控制条里边先加一个面板,然后选中面板组件,在其里边加其他的组件,这样就可以使得不同的组件加入到相同的工具栏里。 控制条组件的常用属性:
·Align属性:用来设置对齐方式
·RowSize属性:用来设置控制条里每个工具栏的高度,默认值为26。 [例5—9]说明控制条组件的使用。
(1)添加一个控制条组件到窗体中,默认名称为ControlBarl。 (2)将其Align属性设置为alTop。
(3)双击一个快速按钮,此时有一工具鞍加入到ControlBarl中。 (4)双击面板组件,将它的BevelOuter属性设置为bvNone。 (5)再在面板中加四个快速按钮。
(6)运行程序。运行结果如图5—13所示。
进度条(ProgressBar)
进度条 位于【win32】组件页的页面上,用来表示某一事件或过程的进度。进度条可提供用户程序运行的可视化反馈。随着某一事件或过程向前发展或运行,进度条从左向右用高亮显示的方块填充进度条。 进度条的主要属性和方法:
·MaX属性:用来设置进度条位置的上限。当用进度条跟踪的某一事件完成时,进度条的Position属性的值达到Max属性值。默认值为100。
·Min属性:用来设置进度条位置的下限。当用进度条跟踪的某一事件开始时,进度条的Position属性的值达到Min属性值。默认值为0。
·Orientation属性:用来设置进度条的方向,是垂直的还是水平的。 ·Position属性:用来设置进度条当前的位置。