不同格式的文本在同一个多行节点中

我有一个以两种不同方式格式化节点文本的TVirtualStringTree实例。 该实现基于在StringOptions使用toShowStaticText ,如此问题的接受答案中所述:VirtualTreeView - 同一节点中不同颜色的文本

在我为节点设置MultiLine标志之前,所有的东西都能正常工作。 现在, OnPaintText事件将不再被触发为TextType = ttStatic

这种行为的原因可以在TCustomVirtualStringTree.DoPaintNode方法中找到,显然是:

// ... and afterwards the static text if not centered and the node is not multiline enabled.
if (Alignment <> taCenter) and not (vsMultiline in PaintInfo.Node.States) and (toShowStaticText in TreeOptions.FStringOptions) then
begin
  S := '';
  with PaintInfo do
    DoGetText(Node, Column, ttStatic, S);
  if Length(S) > 0 then
    PaintStaticText(PaintInfo, TextOutFlags, S);
end;

不过,我想在同一个MultiLine节点中使用两种不同的文本格式。 我怎样才能做到这一点?

链接地址: http://www.djcxy.com/p/35075.html

上一篇: different formats of text in the same multiline node

下一篇: How to assign data to node of VirtualStringTree in InitNode event