VirtualTreeView z UseExplorerThemes

Właśnie odkryłem, że użycie opcji toUseExplorerTheme pozwala stworzyć ładny prostokąt wyboru dla VirtualStringTree. Jeśli jednak opcja ToGridExtensions jest ustawiona i w drzewie jest kilka kolumn, pionowa krawędź zaznaczenia nie jest rysowana dla komórek wewnętrznych, a zaokrąglone rogi również nie są dostępne. Tylko najbardziej zewnętrzne krawędzie i narożniki lewej i prawej kolumny są rysowane poprawnie. Wygląda na to, że prostokąt zaznaczenia jest narysowany pomiędzy najbardziej zewnętrznymi kolumnami, a tło niewybranych kolumn jest właśnie rysowane nad prostokątem wyboru.

Wyłączenie opcji toGridExtensions daje prawidłowy prostokąt wyboru, ale wolę go mieć, ponieważ komórkę można wybrać tylko poprzez kliknięcie tekstu w trybie standardowym (nie przez kliknięcie pustego miejsca obok tekstu).

Problem występuje w Delphi 7 i XE2, a prawdopodobnie także w innych wersjach.

Aby odtworzyć dodaj do formularza TVirtualStringTree, pokaż nagłówek, dodaj kilka kolumn do nagłówka i aktywuj opcje toGridExtensions (MiscOptions), toUseExplorerTheme (PaintOptions), toExtendedFocus (SelectionOptions), uruchom program i kliknij dowolną komórkę.

questionAnswers(1)

yourAnswerToTheQuestion