使用容器控件 / 控件分组
可以用 TGroupBox、TPanel和 TScrollBox 当作容器控件,把一组控件放在这些控件里面,很多情况分组不是必须的,只是为了让用户看起来更有调理,但是也有必须分组的情况,就是 TRadioButton 单选钮。在一个分组里面的 RadioButton 只能选择一个,选择其中一个的时候,其他的就会自动去掉选择。用 GroupBox、Panel 或任何其他可以当作容器的控件都可以达到分组的目的。
移动容器控件,例如 GroupBox1,里面的控件都随着 GroupBox1 容器控件移动,如果把容器控件隐藏了,里面所有的控件也都随着隐藏了。删除容器控件,里面的控件也都被删除了。
窗口 (Form) 也是一个容器,容器是 TControl 的 Parent 属性,所有从 TControl 继承过来的控件或窗口都有 Parent 属性。
容器可以嵌套放置,例如 Form1 里面放一个 Panel1,在 Panel1 里面放一个 GroupBox1,在 GroupBox1 里面放一个按钮 Button1,
那么 Button1 的容器是 GroupBox1,GroupBox1 的容器是 Panel1,Panel1 的容器是 Form1;
也就是说,Button1 的 Parent 属性是 GroupBox1,GroupBox1 的 Parent 属性是 Panel1,Panel1 的 Parent 属性是 Form1。
在窗口设计期间,按 Esc 键,可以把编辑焦点切换到容器。还是刚才的例子,如果用鼠标点击 Button1,Button1 有编辑焦点,按 Esc 键,编辑焦点会切换到 GroupBox1,再按一次 Esc 键,编辑焦点会切换到 Panel1,再继续按 Esc 键,编辑焦点会切换到 Form1,可以通过这个方法简单的判断某个控件放在哪个容器里面了 (重叠放置的控件不一定有容器关系)。
窗口上的控件结构
在默认的窗口布局,空间结构 Structure 在界面的左上角。
• 可以使用快捷键 Shift + Alt + F11 显示 Structure
• 也可以选择菜单 View → Structure 显示控件结构
在 Structure 面板里面,可以看到控件的结构。从上面的截图看,Button1 和 Edit1 在 GroupBox 里面,RadioButton1 和 RadioButton2 在 Panel1 里面。
如果控件被挡住了看不见,也可以在 Structure 面板里面找到。
|