若希望在TNotebook或TPageControl组件的所有页面上显示某些组件(例如浏览数据库的列表框)时,不需要在在每个页面上重复设置这些组件,只需要首先建立它们,然后再添加TNotebook或TPageControl控件,调整它们的大小和位置,用鼠标右键单击TNotebook或TPageControl组件,单击弹出菜单中的“Send To Back”属性,这时最先添加的控件就显示在TNotebook或TPageControl控件之上,按通常的方法添加其他组件到TNotebook或TPageControl组件即可。
此方法只对控件有效,所以TDBText需用TDBEdit代替,并设置其为只读,边界属性设置为空,Ctrl3D属性设置为假。同理,需要用TPanel组件代替TLabel组件。
另一种更为有效的方法是编写一段代码,来动态改变组件的位置,这种方法对所有的组件均有效。以TPageControl为例,在其OnChange事件处理
程序中插入如下代码:
procedure TForm1.PageControl1Change(Sender: TObject);
begin
Panel1.Parent := PageControl1.ActivePage;
//other code follows
end;
实际使用时,用自己的组件代替Panel1。记住:应当将组件放置在程序运行时,打开对话框时首先显示的对话页上,以避免在窗体的OnCreate事件处理
程序中编写代码。