Насколько я знаю, ON_WM_MEASUREITEM
не вызывается в элементе управления Custom Draw list. Он используется только в том случае, если управление выполнено владельцем.
Я нашел способ сделать это, но это в некотором роде ХАК, и я до сих пор не могу контролировать промежутки между элементами, которые они каким-то образом настраивают.
Хитрость в том, что вы можете создать CImageList
с неиспользуемыми изображениями нужного вам размера, и если вы назначите такой список изображений элементу управления списком, элементы будут изменены по размеру, близкому к размеру изображений. После этого вы можете использовать Custom Draw для рисования внутри этих увеличенных предметов.
CImageList m_imageList1;
m_imageList1.Create(176, 144, ILC_COLOR32 | ILC_MASK, 5, 1);
GetListCtrl().SetImageList(&m_imageList1, LVSIL_NORMAL);
Итак, вопрос в том, как изменить размер элементов и расстояние между ними в элементе управления Custom Drown?
Или полностью управляемый владельцем элемент управления с LVS_OWNERDRAWFIXED
- мой единственный вариант здесь?