不同格式的文本在同一个多行节点中
我有一个以两种不同方式格式化节点文本的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
节点中使用两种不同的文本格式。 我怎样才能做到这一点?
上一篇: different formats of text in the same multiline node
下一篇: How to assign data to node of VirtualStringTree in InitNode event