VirtualTreeView mit UseExplorerThemes

Ich habe gerade festgestellt, dass mit der Option toUseExplorerTheme ein schönes Auswahlrechteck für einen VirtualStringTree erstellt werden kann. Wenn jedoch die Option toGridExtensions festgelegt ist und der Baum mehrere Spalten enthält, wird der vertikale Rand der Auswahl für die inneren Zellen nicht gezeichnet, und die abgerundeten Ecken fehlen ebenfalls. Nur die äußersten Kanten und Ecken der linken und rechten Spalte werden korrekt gezeichnet. Es sieht so aus, als ob das Auswahlrechteck zwischen den äußersten Spalten und der Hintergrund der nicht ausgewählten Spalten nur über das Auswahlrechteck gezeichnet wird.

Wenn Sie die Option toGridExtensions deaktivieren, wird ein korrektes Auswahlrechteck angezeigt. Ich bevorzuge diese Option, da eine Zelle nur durch Klicken auf den Text im Standardmodus ausgewählt werden kann (nicht durch Klicken auf den leeren Bereich neben dem Text).

Das Problem tritt bei Delphi 7 und XE2 sowie wahrscheinlich auch bei anderen Versionen auf.

Um einen TVirtualStringTree zu reproduzieren, zeigen Sie die Kopfzeile an, fügen Sie der Kopfzeile mehrere Spalten hinzu und aktivieren Sie die Optionen toGridExtensions (MiscOptions), toUseExplorerTheme (PaintOptions), toExtendedFocus (SelectionOptions), führen Sie das Programm aus und klicken Sie auf eine beliebige Zelle.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage