![]() |
AW: TabControl
ich hänge gerade am selben problem.
ich habe ein pagecontrol und diesem verpasse ich per klick neue tabs MIT listview drauf:
Delphi-Quellcode:
das funktioniert alles. aber folgendes nicht mehr:
procedure TForm1.NeueProfilgruppe1Click(Sender: TObject);
var aListView: TListView; aTabSheet: TTabSheet; aItem: TListItem; begin sGroupName := 'test'; aTabSheet := TTabSheet.Create(Self); aTabSheet.PageControl := PageControl1; aTabSheet.Parent := PageControl1; aTabSheet.Caption := sGroupName; PageControl1.ActivePage := aTabSheet; aListView := TListView.Create(Self); aListView.Parent := aTabSheet; aListView.Align := lv1.Align; aListView.Name := 'lv' + IntToStr(PageControl1.PageCount); aListView.BorderWidth := lv1.BorderWidth; aListView.LargeImages := lv1.LargeImages; aListView.SmallImages := lv1.SmallImages; aItem := aListView.Items.Add; aItem.Caption := sGroupName; // lv1 ist eine ListView end;
Delphi-Quellcode:
dementsprechend fällen alle operationen die mit aCurrentListView zu tun haben fehl.
// aCurrentListView := TListView;
procedure TForm1.PageControl1Change(Sender: TObject); begin aCurrentListView := PageControl1.ActivePage.FindComponent('lv' + IntToStr(PageControl1.ActivePageIndex + 1)) as TListView; if Assigned(aCurrentListView) then showmessage(aCurrentListView.Name); // hier kommt er NIE hin end; |
AW: TabControl
Und mit FindControl statt FindComponent?
|
AW: TabControl
Hmmm, warum will eigentlich jeder alles in so ein PageControl reinpacken?
Das kann man sehr geschickt trennen, indem man eine Form mit einem PageControl nimmt und dort die Funktionalität für das PageControl implementiert. Die ListView kommt in ein eigenes Formular und bei Bedarf wird diese Form erzeugt und an das PageControl gedockt. Ein Beispiel findest du ![]() |
AW: TabControl
Zitat:
|
AW: TabControl
das war ein toller tipp.
einfach im OnChange-Event des pagecontrols folgendes setzen und schon braucht man nur eine listview:
Delphi-Quellcode:
es ist ja EH immer nur eine listview sichtbar, wozu also dutzende "erstellen".
ListView1.Parent := PageControl1.ActivePage;
|
AW: TabControl
Zitat:
|
AW: TabControl
FindComponent/FindControl sucht nach Owner-Beziehungen und nicht nach Parent-Beziehungen.
PageControl1.ActivePage.FindComponent oder PageControl1.ActivePage.FindControl sucht im ActivePage nach Controls/Components, deren Owner dieses ActivePage ist. Du hast aber als Owner die Form (Self) angegeben ... wo muß man nun also nach den erstellten Komponenten (Components) suchen? |
AW: TabControl
Äh das hatten wir doch erst letztens
FindComponent durchsucht die Owner-Beziehungen FindControl durchsucht die Parent-Beziehungen |
AW: TabControl
Deshalb ja meine Frage in #12 :mrgreen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 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