Delphi Form Designer (窗体设计器)之二
选择组件
1、 选择单个组件
要选择单个组件,只要在上面点击即可。选择组件时,八个黑色大小标记符出现在组件周围以提示它被选择了。如图所示:
选择组件时Object Inspector会发生变化,以显示所选控件的属性和事件。要取消选择,点击窗体背景或者在控件上Shift + Click取消选择。
Tip
每个组件有相应缺省事件处理程序。当双击窗体上组件时,Code Editor显示该组件的缺省事件处理程序,为输入代码做准备。在多数情况下,缺省事件处理程序是OnClick处理程序。双击组件时到底发生什么依赖于组件是怎么设计的。
2、 选择一组组件
也可以选择多个组件,把它们看作一组,有三种方法实现:
- 用键盘和鼠标Shift + Click
- 用鼠标拖动
- 从主菜单上选择【Edit | Select All】或Ctrl + A,将选择窗体上所有组件。
3、 使用Shift + Click选择组件
要用Shift + Click选择组件,先选择一个控件,然后按住键盘上的Shift键,在想要包含到选择中的任何其他控件上点击。点击的每个控件边界有四个灰色框,提示它是选择中的一部分了。
继续按住Shift键,再在组件上点击就从选择中取消了控件。
举例子说明,先启动空窗体:
(1)在窗体上任意安放三个按钮,它们会自动编号为Button1、Button2和Button3;
(2)点击Button1,八个黑色小矩形出现在Button1控件的周围,如下图
(3)按住键盘上的Shift键,点击Button2,增加到选择中。Button1和Button2的角上都出现灰色框,如下图:
(4)在Button3上Shift+Click,三个按钮全部选择中,如下图:
(5)再在Button2上Shift+Click,Button2从选择中删除(灰色小框消失),Button1和Button3仍在选择中,如下图:
(6)在Button1上Shift+Click,Button3是唯一在选择中的组件,灰色角框变成了八个黑色矩形框,如下图:
(7)在Button1与Button2上Shift+Click,所有三个按钮又都是选择中的部分,如下图:
Note
如果在已被选择的组件上点击则什么也不会发生。选择当前某组选择中的单个控件,需要先在窗体背景上点击或按ESC键删除此组选择。然后在想选择的单个控件上点击。
4、 使用拖动选择多个组件
可拖动围绕在要选择的控件边界矩形来选择多个控件。边界矩形(bounding rectangle)边为蚂蚁线,在拖动时可以改变大小。事实上,不必拖动边界矩形完全围绕在组件上,为了组件能包含到选择中,只需要边界矩形接触它就可以选中,如下图所示:
在开始时一定要把鼠标光标放在窗体背景上而不是组件上。按住鼠标左键开始拖动,在拖动时会看到边界矩形。围绕或者接触到要选的组件时释放鼠标左键,边界矩形中任何组件都包含在选择中。
选择了一组控件后,可用前面介绍的Shift+Click技术来增加其他控件到选择中,或从选择中删除控件。
5、 选择多个项:组件中的组件
经常需要把组件放在其他组件中。Panel面板组件经常当做其他组件的容器。要在Panel上选择一组组件,必须拖动选择组件的同时按Ctrl键。
移动组件
移动组件是非常简单的,要移动单个组件,把鼠标放到组件上拖动。在拖动时表示组件的矩形随鼠标光标移动。当把矩形放到需要的位置时,释放鼠标按键,组件就移动到哪个位置。
Note
当通过拖动释放移动控件时,控件Left和Top属性自动更新。在移动组件时,就会看到鼠标光标下出现工具提示信息。工具提示信息显示停止拖动时组件的新的Left和Top信息。
在用拖动设置组件大小时,也会有类似的提示信息,显示新的Height和Width信息。
Note
用拖动释放移动组件最容易。如果需要更好的控制,可以在Object Inspector中改变组件的Left和Top属性。也可以使用各种对齐选项。
如果“Snap to grid”选项开着,拖动矩形会跳到最近的坐标网格点上。
Tip
若在拖动时改变了想法,在释放鼠标按键前按键盘ESC键来取消操作,组件就回到原始位置。
拖动一组控件也一样,选择了一组组件后,把鼠标光标放在任何一个控件上开始拖动,对组件的每个控件都将显示拖动矩形。这使大家能想象到在释放鼠标按钮时放置的位置。
Note
如果选择组中有不同的父控件,就不能移动组件。例如,在主窗体选了Button组件,又在Panel中选择了SpeedButton组件,因这两个组件有不同的父控件,就不能作为一组来移动它。
Tip
在选择了控件时,在键盘上使用上下左右键的同时按住Ctrl来一次移动一个像素。此技术对控件组和单个控件都有效。使用此技术时Snap to grid特性将被忽略。用这种方法移动完组件后,组件不再位于坐标网格上——有一些偏移量。若拖动该组件,在拖动时它保持与坐标网格点的偏移量。若拖动该组件,在拖动时它保持与坐标网格点的偏移量。
Tip
如果用Ctrl+Arrow方式来移动控件,并想将它与坐标网格对齐,可以从右键快捷菜单中选择【Position | Align to Grid】,控件的左上角会跳到最近坐标网格点。
拖动控件不能拖出它的父窗口,如果拖动组件离开窗体的左边或上边,会看见组件被剪切在窗体边上;若拖动组件离开窗体的右边或下端并释放它,在窗体上就会出现滚动栏,可以滚动着看窗体的其余部分。而窗体的Width和Height属性不会改变。如果拖动组件回到窗体的可见部分,则滚动栏取消。这是Form的缺省特性,如果不改变窗体的AutoScroll属性为False,它都会发生。如下图,显示了被拖动部分离开窗体右边界的Memo组件。注意滚动栏出现在窗体的低端。
posted on 2012-01-13 13:05 pchmonster 阅读(3110) 评论(3) 编辑 收藏 举报