CListCtrl SetIconSpacing 包含文本

Posted

技术标签:

【中文标题】CListCtrl SetIconSpacing 包含文本【英文标题】:CListCtrl SetIconSpacing include text 【发布时间】:2014-12-11 14:44:11 【问题描述】:

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

我使用的是标准控件,没什么好笑的。

非常感谢

【问题讨论】:

【参考方案1】:

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

    使用/创建任何DeviceContext(最好是CClientDC)。 从CListCtrl 获取字体并使用SelectObject() 函数将字体分配给dc。 现在使用GetTextExtentPoint32()函数获取字体高度。 现在将旧字体设置回 dc。

就是这样。

【讨论】:

以上是关于CListCtrl SetIconSpacing 包含文本的主要内容,如果未能解决你的问题,请参考以下文章

CListCtrl 鼠标事件不起作用

CListCtrl (MFC) 选择点击通过控制UNDERNEATH列表

默认 CListCtrl 数据即将排序

如何在CListCtrl中捕获滚动事件?

单击或选择 Clistctrl 子项(报告视图)

虚拟 CListCtrl 自动大小