控件的總結(jié):
1.CListCtrl
CListCtrl的部分用法及技巧,總結(jié)起來大概有十三點(diǎn)技巧:
基本操作、獲取選中行的行號(hào)攻旦、復(fù)選框操作喻旷、動(dòng)態(tài)設(shè)置選中行的字體顏色、設(shè)置選中行的背景顏色牢屋、禁止拖動(dòng)表頭且预、讓第一列居中顯示槽袄、設(shè)置行高與字體、虛擬列表技術(shù)锋谐、點(diǎn)擊表頭時(shí)進(jìn)行歸類遍尺、向上與向下移動(dòng)、動(dòng)態(tài)調(diào)整大小問題涮拗、避免閃爍問題.
(1).CListCtrl的四種樣式:
LVS_ICON 為每個(gè)item顯示大圖標(biāo)
LVS_SMALLICON 為每個(gè)item顯示小圖標(biāo)
LVS_LIST 顯示一列帶有小圖標(biāo)的item
LVS_REPORT 顯示item詳細(xì)資料
(2).CListCtrl的三種擴(kuò)展樣式
LVS_EX_FULLROWSELECT 選中某行時(shí)使正行高亮
LVS_EX_GRIDLINES 設(shè)置網(wǎng)格線乾戏、
LVS_EX_CHECKBOXES item前生成Ckeckbox控件
SetExtendedStyle(style) 設(shè)置擴(kuò)展樣式的函數(shù)
GetExtendedStyle(style) 獲取擴(kuò)展樣式的函數(shù)
(3)CListCtrl插入一列函數(shù):InsertColumn() 一行:InsertItem()
int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem)
這樣一看就清楚多了,第幾列,名稱,對(duì)齊方式,寬度(像素點(diǎn))
m_List.InsertColumn(nSel, "行名稱", LVCFMT_LEFT, nWidth);
注意: CListCtrl在顯示為Report樣式時(shí),主項(xiàng)為第一項(xiàng)三热,后面緊跟著的為子項(xiàng)鼓择。主項(xiàng)和子項(xiàng)的數(shù)據(jù)寫入不同,這將在后面提到就漾。
int InsertItem( int nItem, LPCTSTRlpszItem )
同樣的:
list.InsertItem(0,"主數(shù)據(jù)");
③刪除操作
有三個(gè)操作函數(shù):
BOOL DeleteAllItems() -------刪除所有的行
BOOL DeleteItem(nItem) --------刪除某一行
BOOL DeleteColumn(nCol) -----刪除某一列
④獲取/設(shè)置屬性函數(shù)
有很多函數(shù)了呐能,就不一一介紹了。常用的有
int GetItemCount() -------- 獲取已插入信息的行數(shù)
BOOL SetItemState(int iLink, UINTstate, UINTstateMask ) ---------設(shè)置行狀態(tài)抑堡,如高亮顯示等
其他的一些更復(fù)雜的操作看這篇文章:
關(guān)于CListCtrl的總結(jié)博客