如何获取页面控件上的元素?

时间:2013-04-13 19:19:23

标签: delphi delphi-7

我正在使用Delphi 7。

假设我的表单上有页面控件。此页面控件有两个或三个选项卡。每个标签都有一些其他控件,如标签,编辑等。例如,如何获取代码中的编辑文本属性?

2 个答案:

答案 0 :(得分:11)

使用ControlCountControls属性迭代标签页的控件。

for i := 0 to TabSheet.ControlCount-1 do
begin
  if TabSheet.Controls[i] is TEdit then
    ShowMessage(TEdit(TabSheet.Controls[i]).Text);
end;

这将遍历标签页的所有直接子项。如果你需要深入研究孩子的孩子等等,那么你需要一个递归的解决方案。

如果你想在每个标签页中搜索,那么你也需要迭代它们。

for i := 0 to PageControl.PageCount-1 do
  TabSheet := PageControl.Pages[i];
  for j := 0 to TabSheet.ControlCount-1 do
  begin
    if TabSheet.Controls[j] is TEdit then
      ShowMessage(TEdit(TabSheet.Controls[j]).Text);
  end;

答案 1 :(得分:4)

您仍然可以直接访问TEdit

Edit1.Text := 'My Edit box on a Tab';