Visual c++ 如何在自定义淹没CListCtrl中更改项目大小和它们之间的间距

Visual c++ 如何在自定义淹没CListCtrl中更改项目大小和它们之间的间距,visual-c++,mfc,listview,custom-draw,Visual C++,Mfc,Listview,Custom Draw,据我所知,在自定义绘图列表控件中未调用\u WM\u MEASUREITEM上的。仅当控件为所有者绘制时才使用 我已经找到了一种方法来做到这一点,但这有点像黑客,我仍然无法控制项目之间的差距——它们是以某种方式自动设置的 诀窍在于,您可以使用所需大小的未使用图像创建CImageList,如果将此类图像列表指定给列表控件,则项目的大小将调整为接近图像大小的尺寸。之后,您可以使用自定义绘制来绘制放大项目中的任何内容 CImageList m_imageList1; m_imageList1.Crea

据我所知,在自定义绘图列表控件中未调用\u WM\u MEASUREITEM上的
。仅当控件为所有者绘制时才使用

我已经找到了一种方法来做到这一点,但这有点像黑客,我仍然无法控制项目之间的差距——它们是以某种方式自动设置的

诀窍在于,您可以使用所需大小的未使用图像创建
CImageList
,如果将此类图像列表指定给列表控件,则项目的大小将调整为接近图像大小的尺寸。之后,您可以使用自定义绘制来绘制放大项目中的任何内容

CImageList m_imageList1;
m_imageList1.Create(176, 144, ILC_COLOR32 | ILC_MASK, 5, 1);
GetListCtrl().SetImageList(&m_imageList1, LVSIL_NORMAL);
因此,问题是如何在自定义淹没控件中更改项目大小和它们之间的间距

或者使用
LVS\u OWNERDRAWFIXED的完全所有者绘制控件是我在这里的唯一选项?

更新。
我在VS2008中编译了相同的自定义绘制列表控件。看起来不一样。物品尺寸完美,物品之间没有空隙。我想我最初使用的只是VS2003的MFC中的大小调整问题。
伙计,MFC是一个持续的黑客狂欢:-)

我想问题已经解决了
谢谢(我)。

更新。
我在VS2008中编译了相同的自定义绘制列表控件。看起来不一样。物品尺寸完美,物品之间没有空隙。我想我最初使用的只是VS2003的MFC中的大小调整问题。
伙计,MFC是一个持续的黑客狂欢:-)


我想问题已经解决了
谢谢你(我)。

你的图片的全部目的就是为了增加物品的尺寸吗?那是黑客?我只是想弄清楚你的问题…我创建并分配了我永远不会使用的图像列表。我在欺骗控件,使其认为它必须显示这些图像,因此它必须为每个项目分配更大的不动产。因此,如果您必须以某种非直接的方式欺骗系统做您想要做的事情,这在我的书中属于黑客行为。:-)你的图片的全部目的只是为了增加你物品的大小吗?那是黑客?我只是想弄清楚你的问题…我创建并分配了我永远不会使用的图像列表。我在欺骗控件,使其认为它必须显示这些图像,因此它必须为每个项目分配更大的不动产。因此,如果您必须以某种非直接的方式欺骗系统做您想要做的事情,这在我的书中属于黑客行为。:-)