防止组件被移动或改变大小

组件可以锁住使它们不能移动。锁住组件是有用的,这样就知道Form Designer已完成工作并且不想为意外地移动控件而担心。要锁住窗体的控件,从主菜单中选择【Edit | Lock Controls】。锁住的控件是不能被移动和改变大小的。当控件被锁住时,它们的大小变动手柄是灰色的且带有黑边。如下图Button1,Button2,Button3被锁定住:

JFormDesigner使用 form designer_JFormDesigner使用

要解锁控件,在选【Edit | Lock Controls】,控件就像以前一样可以移动了。应用此技术,可以锁住窗体上所有的组件或一个也不锁,但不能锁住已被选择了的组件。

 

排序、剪切、复制及粘贴组件

有时会把组件放到另一个的上面以产生可视效果。例如把白框放在黑框上面会产生阴影框。显然不能把阴影放在框上,因此不得不排序控件告诉Delphi,哪些控件放到上面,哪些控件放到下面去。现在做一个简单的联系,顺便也说明下如何使用Copy与Paste组件。首先启动空窗体,然后做以下几步:

1、在组件选项板上点击Additional标签,选Shape组件,在窗体上点击按钮,设置该Shape,白色正方形出现在窗体上;

2、设置Shape的大小如所期望一样,如下:

JFormDesigner使用 form designer_控件_02

3、确信Shape组件被选择,从主菜单选【Edit | Copy】;

4、从主菜单选【Edit | Paste】。Shape的复制品被安放在原始Shape的右下方,正是想要的地方,实在方便,如下:

JFormDesigner使用 form designer_单选_03

Note

粘贴操作后,刚粘贴的组件会被选择。

1、 双击Object Inspector的Brush属性,改变其Color属性为clBlack,新Shape是黑色的,但在原始Shape的上面,我们需要调整一些顺序;

JFormDesigner使用 form designer_JFormDesigner使用_04

2、 点击右键,从快捷菜单选择【Control | Send to Back】。黑色的Shape移动到了白色Shape的后面,现在有了带阴影的框。

JFormDesigner使用 form designer_编辑框_05

这个练习举例说明了Form Designer的两个特点,显示了怎样改变控件的堆放顺序如何用Copy与Paste复制组件

原始组件的属性被正确复制并粘贴在里面,作为粘贴处理部分。每次粘贴组件,都被放在原始组件的右下方。

Note

粘贴时,如果作为容器的组件已被选择,剪贴板中的组件会粘贴在此容器组件中。例如想从主窗口移动按钮到面板Panel中,则先选择按钮,并选择快捷菜单【Edit | Cut】从窗体上剪切该按钮并放置到剪贴板中,然后选择面板Panel,从快捷菜单中选择【Edit | Paste】把按钮粘贴到面板Panel中。

Tip

也可以复制组件,并粘贴在Code Editor中,例如我们复制一个Edit组件并粘贴后,结果如下:

object Edit1: TEdit Left = 180 Top = 110 Width = 121 Height = 21 TabOrder = 0 Text = 'Edit1' end

这不是编辑代码,此技术却给出了Edit组件在窗体上的大小和位置。当在运行阶段而不是设计阶段建立组件时,这信息就会有用。把组件可视地放在窗体上,用Copy和Paste获取其大小及位置信息,然后删除此组件,于是就可以写代码在运行阶段正确的建立大小合适位置合适的组件。

 

设置组件大小

对某些组件,把它放到窗体上并接受缺省大小。按钮是个好例子。标准的按钮高25像素,宽75像素。如下图:

JFormDesigner使用 form designer_单选_06

对于许多情形,缺省的按钮大小正是想要的。但对某些组件,缺省大小很少是需要的。例如Memo组件,几乎总是要设置大小来适合具体的窗体。

1、用拖动设置大小

当选择控件时,八个黑色大小手柄出现在控件周围。当把鼠标放在其中任意一个手柄上时,光标变成双箭头,被称作大小设置光标。当看到大小设置光标时,开始拖动来设置控件大小。组件大小如何设置依赖于控制尺寸手柄。

在组件上下边中央的尺寸手柄设置垂直大小,同样的左右尺寸手柄设置组件的水平大小。如果抓住组件角上的尺寸手柄,则同时设置组件的横向与纵向大小。当尺寸手柄是所期望大小时,释放鼠标按钮,组件大小重新设置了。如下设置Memo组件的大小的前后两张图:

JFormDesigner使用 form designer_编辑框_07

图1、正在设置大小的Memo组件

JFormDesigner使用 form designer_编辑框_08

图2、设置好大小后的窗体

Note

大小设置值用于可视化组件。非可视化组件作为图标出现在窗体上,不能设置大小。尺寸手柄出现在非可视化组件上,可以拖动它,拖动结果却被忽略。

控件组不能用拖动设置其大小。当选择多于一个组件时,尺寸手柄为选择提示符所代替。

 

Tip

要依次设置组中全部组件,改变Object Inspector中Width和Height属性,或使用Size对话框设置。

 

Tip

要每次一个像素一个像素地设置控件或控件组的大小,须在按住Shift键的同时按任意箭头键控制其垂直和水平的大小。只有组件的Width和Height属性受影响,而Left和Top属性不变。

2、用大小对话框设置其大小

另一种设置大小的方法是Size对话框,可从快捷菜单中选择【Position | Size…】或者从主菜单【Edit | Size…】打开Size对话框,如下图:

JFormDesigner使用 form designer_控件_09

要使一组控件有相同的高度或宽度时用Size对话框。例如,窗体上有6个编辑Edit组件,都有不同的宽度。要使窗体显得更整齐,需要把它们做成相同宽度。首先选择这6个组件,然后调出Size对话框,在Width栏中选择“Shrink to smallest”,使所有组件按宽度最短的组件宽度设置,或者选择“Grow to largest”,使所有组件的宽度按最长宽度的组件设置,或者也可以Width编辑框中输入精确的宽度,此时保证Height栏中选择“No change”。点击OK,组件即有同一宽度。

3、 用Scale对话框设置大小

设置大小的另一个工具是Scale对话框,从主菜单选择【Edit | Scale…】或者从Form Designer快捷菜单中选择【Position | Scale…】调出Scale对话框。如下图:

JFormDesigner使用 form designer_单选_10

此对话框能够指定比例百分比。要做两倍大小的组件,在Scale编辑框中输入200;要缩减一半,输入50即可。Scale对话框快速改变所有窗体组件的大小是非常方便的。

Note

记住,在Object Inspector中改变Left和Top属性可以移动组件;改变Width和Height属性可以设置组件的大小。