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

Mik*_*ail 2 delphi delphi-7

我正在使用Delphi 7.

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

Dav*_*nan 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;
Run Code Online (Sandbox Code Playgroud)

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

如果要在每个标签页中进行搜索,则需要对它们进行迭代.

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;
Run Code Online (Sandbox Code Playgroud)