Einzelnen Beitrag anzeigen

dGeek
(Gast)

n/a Beiträge
 
#1

ListView Position der Node-Selection/Editbox ändern

  Alt 12. Nov 2016, 18:38
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.

Geändert von dGeek (12. Nov 2016 um 18:53 Uhr)
  Mit Zitat antworten Zitat