VirtualTreeView节点高度基于图标字体大小

时间:2014-01-05 19:08:15

标签: delphi c++builder virtualtreeview

我正在尝试根据系统图标字体大小设置节点高度。

到目前为止我的代码:

LOGFONT lf;
ZeroMemory(&lf, sizeof(lf));
if (SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(lf), &lf, 0))
   {
   // This is a hack because font height itself doesn't give me correct node height - everything is too tight
   int Height = VST->DefaultNodeHeight - abs(VST->Font->Height)+1;

   VST->DefaultNodeHeight = abs(lf.lfHeight)+Height;
   VST->Font->Name        = lf.lfFaceName;
   VST->Font->Height      = lf.lfHeight;
   }

上述工作但我无法获得DefaultNodeHeight权限 - 它与修复字体时使用的默认值不同。字体高度很好。

如何从系统中检索正确的值,或自动调整VirtualTreeView的大小以使用正确的节点高度,该高度与默认值相同但基于以上代码?

默认字体高度为-14,字体大小为8,节点高度为18。

所以换句话说我需要:

a)图标字体大小

b)相应的DefaultNodeHeight,基于字体大小(如果我使用不同的字体大小,则根据特定大小重新计算DefaultNodeHeight)

0 个答案:

没有答案
相关问题