2008-10-24 19 views
1

據我所知ON_WM_MEASUREITEM不會在自定義繪製列表控件中調用。只有在控制權是所有者繪製時才使用它。如何更改項目大小和它們之間的差距在自定義溺水CListCtrl

我已經找到了一種方法來做到這一點,但它有點HACK,我仍然無法控制自動設置項目之間的差距。

訣竅是您可以創建CImageList包含所需大小的未使用圖像,並且如果將此類圖像列表分配給列表控件,則項目的大小將調整爲接近圖像大小的尺寸。之後,您可以使用自定義繪製繪製放大的項目內的任何內容。

CImageList m_imageList1; 
m_imageList1.Create(176, 144, ILC_COLOR32 | ILC_MASK, 5, 1); 
GetListCtrl().SetImageList(&m_imageList1, LVSIL_NORMAL); 

所以問題是你如何改變他們在自定義淹沒控制項目的大小和間距?

或者完全是所有者用LVS_OWNERDRAWFIXED繪製的控件是我唯一的選擇嗎?

+0

您的圖像的整個點只是爲了衝撞物品的大小?這是黑客?只是試圖解決你的問題... – Aardvark 2008-10-24 19:53:12

回答

1

更新。
我在VS2008中編譯了相同的自定義繪製列表控件。而且外觀不同。項目的大小是完美的,沒有項目之間的差距。我想我的大小問題只是在VS2003的MFC中,我最初使用的是。
男人,MFC是一個恆定的HACK狂歡:-)

我想這個問題是關閉的。
謝謝(我)。

相關問題