我正在使用CListCtrl控件在我的MFC應用程序中顯示信息。此刻,我在SetExtendedStyle中設置了LVS_EX_CHECKBOXES,因此控件中的所有行都有一個複選框。然而,我想要的只是控件中的某些行有複選框。這可能嗎 ?如果這是如何完成的?只需要CListCtrl控件中的某些行具有複選框
感謝
伊恩
我正在使用CListCtrl控件在我的MFC應用程序中顯示信息。此刻,我在SetExtendedStyle中設置了LVS_EX_CHECKBOXES,因此控件中的所有行都有一個複選框。然而,我想要的只是控件中的某些行有複選框。這可能嗎 ?如果這是如何完成的?只需要CListCtrl控件中的某些行具有複選框
感謝
伊恩
對於那些不應該有一個複選框每個項目:
LVITEM lvi;
lvi.stateMask = LVIS_STATEIMAGEMASK;
lvi.state = INDEXTOSTATEIMAGEMASK(0);
::SendMessage(m_hWnd, LVM_SETITEMSTATE, nItem, (LPARAM)&lvi);
要「創造」的複選框中的項目:
SetCheck(Item, true/false);
是的。您需要做的是創建複選框的位圖並將其包含在回調中。其中一個位圖將是空白的。
或者,你可以做一些所有者繪圖並調用DrawFrameControl函數。
您也可以添加代碼來測試鼠標點擊並作出相應的響應。
快速Q - 點擊空間,該複選框會讓人出現,是我還是ClistCtrl的功能? – gbjbaanb 2008-12-03 16:53:42