Ist es möglich, die Node-Selection eines Nodes einer TreeView in der Position zu verändern?
Wenn ein Node sagen wir mal einen ganzen Satz beinhaltet, dann ist es nicht sonderlich kompliziert mit der Maus in den Editiermodus dieses Nodes zu gelangen.
Enthält der Node aber nur sehr wenige Zeichen oder eben gar keine, ist die Fokus-Box nur ein paar Millimeter weit.
Im AdvancedCustomDrawItem-Event steht schon folgendes:
Delphi-Quellcode:
var
aFocusRect: TRect;
begin
aFocusRect := Node.DisplayRect(True);
if Stage = cdPostPaint
then
begin
aFocusRect.Width := TTreeView(Sender).Width - aFocusRect.Left;
DrawFocusRect(
DC, aFocusRect);
end;
//
end;
Das erweitert die Selektierung bis zum rechten Ende des TreeView. Aber egal wo ich klicke, ich gelange nur in den Editiermodus, wenn ich an der originalen Stelle der Fokus-Box klicke.
Visuell ist die Fokus-Box also größer und wie gewünscht, aber technisch hat sie wohl noch die Originalgröße.