staram się uzyskać wynik, który wygląda jak ten z TVirtualStringTree:Making widok z barem nagłówka jednej grupie, w wirtualnym widoku drzewa (TVirtualStringTree) master-detail
wierzę, że może to być możliwe bezpośrednio z TVirtualStringTree
(główna kontrolka Virtual Treeview przez Mike'a Lischke'a), lub poprzez jej podklasę i modyfikację dziedziczonego kontrolnego, lub przechodząc do TVirtualDrawTree
.
Oto co mogę, i pokazuje problem, że czołowa:
Mam problem jest, że nie może wydawać się uzyskać tekst na kolumny 0 do podjęcia cały poziomy obszar wirtualnej kontroli widoku drzewa. W demonstracji Zaawansowane znajduje się wirtualna demonstracja drzewa pokazująca tekst wielowierszowy, który wydaje się robić to, czego potrzebuję, ale nie jestem w stanie dowiedzieć się, jak zastosować go w połączeniu z kolumnami szczegółów, które potrzebuję poniżej wiersza nagłówka (pokazanego jako Węzeł, Węzeł, węzeł na zdjęciu).
Oto, co starałem:
- Zmienić ContentRect.Right w przypadku BeforeCellPaint:
- ustawiony na
toGridExtensions
wTreeOptions.MiscOptions
.
Oto przykładowy kod pokazujący jak próbowałem zmienić contentRect:
procedure TForm1.VirtualStringTree1BeforeCellPaint(Sender: TBaseVirtualTree;
TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
CellPaintMode: TVTCellPaintMode; CellRect: TRect; var ContentRect: TRect);
var
level:Integer;
begin
level := VirtualStringTree1.GetNodeLevel(Node);
if (level=0) then
Inc(ContentRect.Right, 300);
end;
Aktualizacja:
Korzystanie odpowiedź akceptowane poniżej, mam następujące:
Brilliant! To działa po prostu świetnie. –