Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: TTreeView OwnerDraw, Texthintergrund färben, Alternative

  Alt 19. Jun 2008, 06:29
Handelt es sich um ein hierarisches Menü? Könnte man das nicht mit einer Listbox simulieren? Dort hast Du ein OwnerDraw und kannst die Einrückung der Hierarchie ja einfach selbst zeichnen. Ich denke, das das keine allzugroßen Probleme bereitet, nur hättest Du u.U. keine hierarchische Struktur mehr, bzw. müsstest die außerhalb der Listbox nachbilden.

Fällt mir gerade ein: Lass die TreeView, mach sie unsichtbar und verwende eine Listbox zum rendern. Dann musst du 'nur noch' die visuellen Änderungen und Aktionen (Klick, OnChange etc.) mit der TreeView synchronisieren.

Eine ListBox hat leider kein 'OnFocusChanged' Ereignis. Du kannst Dir aber dadurch behelfen, indem Du einfach bei jeden OnKeyUp und OnMouseDown den Itemindex abfragst und dann das korrespondierende TreeView.OnChange-Ereignis aufrufst.

PS.: Was ist falsch daran, auf eine neue Delphi-Version zu migrieren? Ich finde, das ist ein Grund und man kann dem Kunden auch sagen: Tja, das wird nicht unterstützt, sie müssen auf D2006 o.ä. migrieren. Das ist mit Kosten verbunden, aber so ist das nun mal.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat