Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi über TIWTreeViewItem dazugehöriges TIWTreeView ermitteln (https://www.delphipraxis.net/93025-ueber-tiwtreeviewitem-dazugehoeriges-tiwtreeview-ermitteln.html)

hirnstroem 30. Mai 2007 13:59


über TIWTreeViewItem dazugehöriges TIWTreeView ermitteln
 
'loha Folks,

ich arbeite zur Zeit mit IntraWeb.

Auf einem Formular befindet sich eine TIWTreeView dessen Items zur Laufzeit generiert und mit diversen Funktionen versehen werden. Im folgenden Beispiel wird einem hinzugefügten Item eine Caption sowie ein OnClick Ereignis zugewiesen.

Delphi-Quellcode:
  with Sender as TIWTreeView do
  begin
    with Items.Add do
    begin
      Caption := 'Fenster'
      OnClick := NavigationItemClick;
    end;
  end;
In der OnClick Routine suche ich nun nach einer Möglichkeit anstatt auf das angeklickte TreeViewItem auf den TreeView selbst zuzugreifen, finde aber keinen Weg dies zu tun.

Delphi-Quellcode:
procedure TIWUserSession.NavigationItemClick(Sender: TObject);
begin
  (Sender as TIWTreeViewItem).Tag := 0; // funktioniert
  (Sender as TIWTreeview).Tag := 0; // funktioniert nicht...was auch Sinn macht
end;
Das TreeViewItem selbst hat nur ein ParentItem was selbst auch wieder ein TIWTreeViewItem ist, was mir auch nicht weiterhilft.

Lösungsvorschläge?

Grüsse
hirnstroem

hirnstroem 31. Mai 2007 06:15

Re: über TIWTreeViewItem dazugehöriges TIWTreeView ermitteln
 
Aus einem unerklärlichen Grund ist die TreeView property eines TreeView-Items als protected deklariert. Daher muss man einen kleinen Trick anwenden:

Delphi-Quellcode:
type
  TIWTreeViewItemCracker = class (TIWTreeViewItem)
end;
Delphi-Quellcode:
procedure ...
var
  LTreeView: TIWTreeView;
begin
  LTreeView := TIWTreeViewItemCracker(Sender as TIWTreeViewItem).TreeView;
  ...
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:42 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