CListCtrl SetIconSpacing包含文本

时间:2014-12-11 14:44:12

标签: mfc clistctrl

我在我的CListCtrl图标视图中使用SetIconSpacing()并且间距很好,除了我还在图像下显示图像名称。现在我将间距强制为m_ctrlList.SetIconSpacing(CSize(THUMBNAIL_WIDTH, THUMBNAIL_HEIGHT+20));,其中20表示文本高度。有没有办法从控件中获取文本高度?

我正在使用标准控制,没有有趣的商业。

非常感谢

1 个答案:

答案 0 :(得分:1)

您可以使用GetTextExtentPoint32()功能。这是你必须做的。

  1. 使用/创建任何DeviceContext(CClientDC最好)。
  2. CListCtrl获取字体,并使用SelectObject()函数将字体指定为dc。
  3. 现在使用GetTextExtentPoint32()函数并获取字体高度。
  4. 现在将旧字体设置回直流。
  5. 就是这样。