如何测量树视图项目中文本的可用宽度?

我有一个标准的Win32树视图控件。 我正在把文件名放到根节点上。 为了避免要求用户使用水平滚动条,我想使用PathCompactPath来缩短文本以适应控件上可用的空间。

在这里输入图像说明

所以,为了做到这一点,我需要测量上面屏幕截图中标记的距离。 我知道TVM_GETITEMRECT但是它返回包含图标占用空间的矩形。

那么,我怎样才能获得我需要的指标呢? 甚至有可能这样做吗?

您是否为TVM_GETITEMRECTwParam参数指定了TRUEFALSE ? 它应该是TRUE的获得节点的文本矩形。 一旦你有了,你可以从TreeView的客户端宽度中减去矩形的左边像素值来获得你正在寻找的宽度。