Hast du denn auch in den
TreeOptions.PaintOptions
den Schalter
toHideSelection
und
toAlwaysHideSelection
ausgeschaltet? Andernfalls wird keine Selection gezeichnet. Die sind zwar standardmäßig aus, aber ich weiß ja nicht, was du alles ausprobiert hast.
Du solltest auch das
toShowStaticText
rausnehmen. Was bezweckst du überhaupt damit? Du schränkst dich dadurch nur unnötig ein. So wie ich es weiß (und so steht es auch in der Hilfe) kann man StaticText nicht selektieren. Ob es daran jetzt schlussendlich liegt kann ich dir nicht sagen. Habe gerade kein Delphi zur Hand.
Zitat von
VirtualStringTree Help:
Static text: All text that you return when TextType is ttStatic will be displayed right beside the normal text (or left to it if the column's BidiMode is not bdLeftToRight, i.e. the column has right-to-left layout). Static text is used only for informational purposes; it cannot be selected or dragged and if the column is not wide enough to show all text it will not be shortened with an ellipsis (...) as normal text. The string tree will only
query for static text if the StringOptions (see TreeOptions) include toShowStaticText. This is off by default.
[...]
Description
Use other resources like the news group or the Delphi Gems message board to find a description.
Members | Description |
ttNormal | normal label of the node, this is also the text which can be edited |
ttStatic | static (non-editable) text after the normal text |
Wenn ich das OnPaintText Event bei mir implementiere ist es so (wenn ich mich jetzt nicht absolut täusche), dass nur die Eigenschaften des Textes verändert werden wenn man im TargetCanvas.Font.XXX etwas ändert. Das Rect in dem gezeichnet wird muss man nicht mehr füllen oder sonst was machen. Alternativ zum OnPaintText Event gibt es auch noch das OnDrawText Event in dem der Parameter DefaultDraw auf false gesetzt werden kann. Dann muss man aber alles selbst machen.