Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Objekt das auf einem TTabSheet liegt. (https://www.delphipraxis.net/53549-objekt-das-auf-einem-ttabsheet-liegt.html)

Evian 18. Sep 2005 21:45


Objekt das auf einem TTabSheet liegt.
 
Hallo Zusammen,

ich erzäuge während der Laufzeit x TTabSheets eines Pagecontrol und lege jeweils ein Scrollbox darauf um dann später bestimmte Dinge dort anzuzeigen. Ich hänge auch jeweils einen Zeiger auf die TabSheets an eine TStringList ran und kann dann per:

Delphi-Quellcode:
    (Kathegorieliste.Objects[index] as TWinControl);
an das jeweilige TabSheets ran. Aber wie komme ich an die Scrollbox des TabSheets ran?!
Habe schon in die Hilfe geschaut, aber finde da leider nichts passendes.

Jedes TabSheet muss doch aber eine Liste mitführen, in der die Objkte drinstehen, die sich auf dem TabSheet befinden, oder?!

gruß


Evian

Evian 18. Sep 2005 22:00

Re: Objekt das auf einem TTabSheet liegt.
 
Naja ich machs mir einfach ein bissel einfacher ^^ ich zeige mit der TStringlist jetzt nicht auf die Tabsheets, sonderen einfach direckt auf die Scrollboxen.

gruß

Evian

Sharky 19. Sep 2005 07:12

Re: Objekt das auf einem TTabSheet liegt.
 
Zitat:

Zitat von Evian
... Aber wie komme ich an die Scrollbox des TabSheets ran?!

Hai Evian,

hier mal ein Beispielcode der die Scrollbox des Aktiven TabControls von deinem PageControl sucht und dann alle Controls die auf der Scrollbox liegen in eine Listbox einträgt:

Delphi-Quellcode:
procedure TForm1.btn_ShowTabControlsClick(Sender: TObject);
var
  ndx: integer;
  controlname: string;
  scrollbox: TWinControl;
begin
  lb_TabControls.Clear;
  scrollbox := nil;
  for ndx := 0 to Pred(PageControl1.ActivePage.ControlCount) do
  begin
    if (PageControl1.ActivePage.Controls[ndx] is TScrollBox) then
    begin
      scrollbox := TWinControl(PageControl1.ActivePage.Controls[ndx]);
      break;
    end;
  end;
  if (Assigned(scrollbox)) then // Wenn eine Scrollbox gefunen wurde
  begin
    for ndx := 0 to Pred(scrollbox.ControlCount) do // Alle Controls durchlaufen
    begin
      controlname := scrollbox.Controls[ndx].Name;
      lb_TabControls.Items.Add(controlname);
    end;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz