![]() |
Berlin: TListViewItem Parent?
Hallo,
ich muss zur Laufzeit den Parent eines TListViewItem's vergleichen, blöderweise hat ein TListViewItem unter Berlin keine .Parent Eigenschaft mehr. Oder habe ich etwas übersehen? Momentan löse ich es so, aber vielleicht gibt es etwas ab Werk? Und wieso verschwindet so eine meiner Meinung nach wichtige Eigenschaft einfach so aus?
Code:
Function GetParent(const AListItem: TListViewItem): TListview;
var Count, Count2: Integer; begin Result := nil; for Count := 0 to Self.ComponentCount-1 do begin if not(Self.Components[Count] is TListview) then Continue; for Count2 := 0 to TListView(Self.Components[Count]).Items.Count-1 do begin if (TListView(Self.Components[Count]).Items[Count2]=AListItem) then begin Result := TListView(Self.Components[Count]); Break; end; end; end; end; |
AW: Berlin: TListViewItem Parent?
Gibts vielleicht noch einen Owner ?
Rollo |
AW: Berlin: TListViewItem Parent?
Zitat:
|
AW: Berlin: TListViewItem Parent?
Nein, einen Owner gibt es auch nicht mehr.
Ich erstelle ein Bitmap und einen Text zur Laufzeit. Den fülle ich anschließend und blende dann ggf. das Bitmap ein und den Text aus: ShowText(const AListItem: TListViewItem; DoShow: Boolean); In manchen Situationen möchte ich Teile aber nicht ausblenden, dazu muß ich prüfen, welche Listview der Besitzer des Listitem's ist. |
AW: Berlin: TListViewItem Parent?
Du könntest mal folgenden Code versuchen (kann das gerade nicht selbst probieren). Kann man vielleicht auch noch eleganter gestalten.
Delphi-Quellcode:
type
TAppearanceObjectsHelper = class helper for TAppearanceObjects function GetParentControl: TControl; property ParentControl: TControl read GetParentControl; end; function TAppearanceObjectsHelper.GetParentControl: TControl; begin Result := OwnerControl; end; Function GetParent(const AListItem: TListViewItem): TListView; begin result := AListItem.Objects.Appearance.ParentControl as TListView; end; |
AW: Berlin: TListViewItem Parent?
Habe es mit obiger Funktion gelöst. Bin nur sehr verwundert, dass diese nicht unwichtige Eigenschaften komplett weggefallen ist.
|
AW: Berlin: TListViewItem Parent?
Da es sich bei TListViewItem formell nicht um ein TControl handelt, finde ich ein property
Delphi-Quellcode:
hier allerdings wirklich etwas irreführend. Ich stimme dir aber zu, daß ein property wie
Parent: TControl
Delphi-Quellcode:
(ob nun als
ParentView
Delphi-Quellcode:
oder eine der Vorfahrenklassen) sicher sinnvoll und nützlich wäre. Es steht dir natürlich frei, ein diesbezügliches Feature-Request zu erstellen. Meine Stimme hätte es.
TListView
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 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