搭配使用影像清單與標題控制項
標頭專案能夠顯示標頭專案內的影像。 此影像儲存在相關聯的影像清單中,是 16 x 16 圖元,而且與清單檢視控制項中使用的圖示影像具有相同的特性。 若要成功實作此行為,您必須先建立和初始化映射清單、將清單與標頭控制項產生關聯,然後修改將顯示影像的標頭專案屬性。
下列程式說明詳細資料,使用標頭控制項的指標 ( m_pHdrCtrl
) 和影像清單 ( m_pHdrImages
) 的指標。
在標題專案中顯示影像
使用 CImageList 建構函式建構新的影像清單(或使用現有的影像清單物件),以儲存結果指標。
呼叫 CImageList::Create ,初始化新的映射清單物件。 下列程式碼是這個呼叫的其中一個範例。
m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
為每個標頭專案新增影像。 下列程式碼會新增兩個預先定義的影像。
m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1)); m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
將影像清單與標頭控制項產生關聯,並呼叫 CHeaderCtrl::SetImageList 。
修改標頭專案,以顯示相關聯影像清單中的影像。 下列範例會將第一個影像從
m_phdrImages
指派給第一個標頭專案m_pHdrCtrl
。HDITEM curItem = {0}; pHeaderCtrl->SetImageList(&m_ListImageList); curItem.mask = HDI_TEXT | HDI_FORMAT | HDI_WIDTH | HDI_IMAGE; curItem.pszText = _T("Column 1"); curItem.cxy = 100; curItem.iImage = 0; curItem.fmt = HDF_LEFT | HDF_STRING | HDF_IMAGE; pHeaderCtrl->InsertItem(0, &curItem);
如需所用參數值的詳細資訊,請參閱相關的 CHeaderCtrl 。
注意
您可以使用相同的影像清單來有多個控制項。 例如,在標準清單檢視控制項中,清單檢視控制項的小型圖示檢視和清單檢視控制項的標題專案,可能會有影像清單清單(16 x 16 圖元影像)。