Delphi Form Designer (窗体设计器)之四
2012-01-14 17:34
309 查看
对齐组件
不管Snap to Grid选项是否开着,在安放完组件后有时需要对齐。对齐组件是指沿某组件的边对齐几个组件,把组件放在窗体中央,或依一定距离间隔组件。有两种方式对齐组件:
使用Alignment面板或Alignment对话框。
改变组件的Align属性。
Note
你也许注意到有些组件的Alignment属性,它只属于组件的文本对齐(居中、左对齐或右对齐),与窗体上对齐组件无关。1、 Alignment面板与Alignment对话框
经常要相对于窗体或另外组件来移动组件或设置大小。Alignment面板包含几个按钮帮助完成这个任务。Alignment对话框与Alignment面板以不同方式执行相同操作。要显示Alignment面板,从主菜单选【View | Alignment Palette】,如下图所示:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/2012011417180578.png)
Tip
Alignment面板能节省大量工作,不必花太多时间把它们排成行,把组件放在窗体上,用Alignment面板确定它们的位置。启动空窗体,做以下工作:
(1)在窗体上随意放置5个按钮Button,不管左边是否对齐;
(2)用拖动边界矩形围绕按钮选择它们,选择表示显示所有按钮都选中,如下图:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141718066075.png)
(3)从主菜单选择【View | Alignment Palette】,显示Alignment面板,如果需要的话移动Alignment面板,使它不至于掩盖窗体。
(4)Alignment选线板上点击“Align Left Edges”按钮,所有的按钮按左对齐排列,如下图:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141718062388.png)
现在来看另一个对齐选项,Space Equally, Vertically对齐选项用于等间距隔按钮,按钮仍是选择的,所做的只是点击下“Space Equally, Vertically”按钮,按钮都完全等距离间隔了。如下所示:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141718074241.png)
Note
Space Equally, Vertically对齐选项把列中第一个(顶部组件)与最后一个(底部组件)之间的组件等距离间隔。在选Space Equally, Vertically对齐选项前,保证第一个和最后一个组件在想要的位置。对于Space Equally, Horizontally对齐选项也是一样的。![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141718082190.png)
Note
Center Horizontally in Window与Center Verically in Window对齐选项可用于对齐其他组件中的组件,如面板Panel上的按钮。组件被水平或垂直居中,不管其父组件为面板Panel,窗体Form和其他容器组件。Tip
在使用任何边对齐选项时,选择的第一个组件为参照点。例如上面5个按钮中如果先选择Button3,然后用Shift+Click选择其余按钮。当点击“Align Left Edges”对齐时,Button3按钮保持不动,其他按钮按照Button3的左边排列,因为Button3是参照组件。(1)在组件面板上点Additional标签,选择Shape组件,在窗体右上方某个地方点击放置此Shape组件;
(2)改变Shape属性为stCircle;
(3)改变Width属性和Height属性为150;
(4)双击Brush属性,改变Color属性为clBlack,窗体如下:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141719587186.png)
(5)在窗体上安放另一个Shape组件;
(6)改变第二个Shape组件的Shape属性为stCircle,在屏幕上有两个不同大小的圆——白色的小圆和黑色的大圆,窗体现在看起来如下:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141719593740.png)
(7)点击黑色的大圆,按住Shift键点击白色的小圆,选中两个圆;
(8)从主菜单选择【View | Alignment Palette】;
(9)在Alignment面板上点击Align Vertical Centers按钮,使得两个圆垂直中心对齐,效果如下:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/2012011417200053.png)
(10)再点击Align Horizontal Centers按钮,使得两个圆水平中心对齐,轮胎就做成了,如下图:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141722228825.png)
注意,由于先选的是黑圈,它固定不动(它是参照组件),在点击对齐按钮时白圈移动。在单个控件上使用,这个两个对齐选项没有作用。
像组件选项面板(Component Palette)一样,Alignment选项也有快捷菜单。把鼠标放到Alignment面板上,右击弹出快捷菜单,如下图:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141722237613.png)
Stay on top 使得Alignment面板总在最顶层。这在经常切换Form Designer和Code Editor时有用,因为Alignment小窗口容易丢失。
Show Hints 打开或关闭Alignment面板按钮的工具提示。
Hide 隐藏Alignment面板(也可用Alignment面板上的关闭按钮)。再次显示它,需从【View | Alignment Palette】再次选择。
Help 关于Alignment面板的帮助信息。
Alignment对话框执行与Alignment面板相同的动作。要调出Alignment对话框,从主菜单【Edit | Align…】或从Form Designer快捷菜单中选择【Position | Align…】,对话框如下:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141722253021.png)
大多数情况下,Alignment面板更容易使用;如果愿意,当然也可以用Alignment对话框。
2、 使用Align属性
另一种类型的对齐是使用Align属性,此属性控制如何与父组件对齐。Align属性的可能值如下:alBottom 组件与父窗口低端对齐。StatusBar状态行就是沿主窗体底端对齐的组件例子。
alClient 组件扩张充满父窗口用户区域;如果其他组件占了部分用户区域,它充满其余用户区域。
alLeft 组件沿父窗口左边对齐。
alNone 组件与父窗口无特殊关系地放置着,对多数组件此为缺省值。
alRight 组件沿父窗口右边对齐。
alTop 组件沿父窗口上边对齐。
现在举例子,来解释Align属性。启动空窗体,执行以下步骤:
(1)在组件面板上点击Standard标签,选择Panel组件,把它任意安放在窗体上,如图:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141725132956.png)
(2)在Object Inspector中设置Panel的Align属性为alTop,面板Panel在窗体顶端对齐,充满窗体整个宽度,如图:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/20120114172514872.png)
(3)试着移动面板到窗体中央,它会又跳回顶端。
(4)试着把面板宽度变短,它仍保持原来的宽度。
(5)改变面板的高度,面板的高度可以改变。
(6)改变Align属性为alBottom,面板粘贴到窗体的底端。如图:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141727445164.png)
(7)改变Align属性为alRight,然后设置为alLeft,面板的宽度可改变,面板的高度无法改变。如图:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141733213082.png)
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141734102259.png)
(8)改变Align属性为alClient,面板扩张充满这个客户区,不能再任意方向改变其大小。如图:
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141734126587.png)
(9)改变Align属性为alNone,面板又可以移动和改变大小了。
改变Align为任何异于alNone的值,都可以把面板粘贴到窗体的边上,在alClient情况下,面板粘贴在四个边上。
设置Tab顺序
New Term
Tab顺序(tab order)指用户在键盘上按Tab键时组件接收输入聚焦的顺序。Note
有两种类型可视化组件。Windowed(窗口化)组件是接收键盘聚焦的组件,这指它能用鼠标点击或用Tab键击。当组件有键盘聚焦时,它可能显示特殊光标(如编辑控件中I型光标)或在组件上有聚焦矩形。Windowed组件包括Edit、Memo、ListBox、ComboBox及Button组件等。
Non-Windowed组件是不接收键盘聚焦的组件,如Image、SpeedButton、Label、Shape及其他许多都是Non-Windowed组件。
Tab顺序是用于Windowed组件,Non-Windowed组件被排除在Tab顺序之外。
![](http://images.cnblogs.com/cnblogs_com/pchmonster/201201/201201141734132551.png)
从主菜单选择【Edit | Tab Order…】打开Edit Tab Order对话框,它显示当前窗体上的所有窗口组件,不显示非窗口组件。要改变Tab顺序,在顺序列表中点击要移动的组件名称,然后通过上下按钮改变顺序,最后点击OK来设置完成,通过浏览每个控件的TabOrder属性确认新设置。
Note
Tab Order从0开始,第一个组件在Tab顺序中为0,第二个为1等等。相关文章推荐
- Delphi Form Designer (窗体设计器)之五
- Delphi Form Designer (窗体设计器)之二
- Delphi Form Designer (窗体设计器)之一
- Delphi Form Designer (窗体设计器)之三
- 运行时窗体设计器Runtime FormDesigner之高阶篇
- 智能表单设计器Web Free Form Designer:FreeForm模板及数据外部存取接口
- PowerBasic:最新的官方窗体设计工具PowerBasic Form 2.0发布(2010新年礼物)
- Delphi项目构成之窗体文件(Form Files).DFM
- delphi 主窗体界面设计
- 写Form设计器尝试(三) 在窗体上添加控件
- 一个用UpdateLayeredWindow实现窗体半透明的delphi的代码-The realization of a form with translucent UpdateLayeredWindow code delphi
- 写Form设计器尝试(四) 修改窗体上的控件属性
- C# WindowForm窗体-菜单栏、状态栏设计--(学生管理系统项目)
- Delphi中Form的position属性与代码自定义窗体位置
- c#WinForm下窗体权限设计(遍历菜单下的所有菜单及所有form、form中的控件)
- 智能表单设计器Web Free Form Designer:FreeForm动态数据验证和动态自动计算
- 像Delphi IDE一样运行时设计控件IDesignerNotify, IDesignerHook的实现
- 写Form设计器尝试(三) 在窗体上添加控件
- delphi窗体动态设计 在系统运行时动态更改控件属性
- Delphi Menu Designer(菜单设计器)之二