作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有 X header 和 x 根的 virtualstringtree(启用了网格线)。
我想将子项(至少 1 个)添加到只有 1 个文本位于中间并通过所有标题(独立)的根中。因此,无论我是否调整标题等的大小,文本始终与 VirtualStringTree 的实际客户端大小对齐。
这可能吗?如果是这样,怎么做?
最佳答案
这听起来像单元格合并。这是讨论 here ,例如,解决方案是包含 toAutoSpanColumns
在 TreeOptions.AutoOptions
.
如果您想要居中对齐的文本,请覆盖 OnDrawText
因此。就像是:
procedure TForm1.VirtualStringTree1DrawText(Sender: TBaseVirtualTree;
TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
const Text: WideString; const CellRect: TRect; var DefaultDraw: Boolean);
var
r: TRect;
begin
r := CellRect;
Windows.DrawTextW(TargetCanvas.Handle, PWideChar(Text), Length(Text), r, DT_CENTER or DT_VCENTER);
DefaultDraw := False;
end;
关于delphi - VirtualStringTree 对齐的文本和网格线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11877505/
我是一名优秀的程序员,十分优秀!