据我所知ON_WM_MEASUREITEM
,不会在自定义绘制列表控件中调用。仅当控件为所有者绘制时才使用。
我找到了一种方法来做到这一点,但这有点像 HACK,我仍然无法控制它们以某种方式自动设置的项目之间的差距。
诀窍是您可以CImageList
使用所需大小的未使用图像创建,如果将此类图像列表分配给列表控件,则项目的大小将调整为接近图像大小的尺寸。之后,您可以使用自定义绘图在这些放大的项目中绘制任何内容。
CImageList m_imageList1;
m_imageList1.Create(176, 144, ILC_COLOR32 | ILC_MASK, 5, 1);
GetListCtrl().SetImageList(&m_imageList1, LVSIL_NORMAL);
所以问题是如何在自定义淹没控件中更改项目大小和它们之间的间距?
LVS_OWNERDRAWFIXED
还是我唯一的选择是完全由所有者绘制的控件?