列表控制項是基本經常用到的控制項,這裡總結一下,方便以後使用。
需要設定的屬性
view->report:一般為報表
edit labels->true:控制項可以重新命名
always show selection->true:設定選中焦點
變數繫結控制項
clistctrl m_list;
//列表控制項
void ccontroldlg::
dodataexchange
(cdataexchange* pdx)
設定風格m_list.
setextendedstyle
(lvs_ex_fullrowselect)
;//可以選一行;
m_list.
setextendedstyle
(lvs_ex_gridlines)
;//給列表加格;
m_list.
setextendedstyle
(lvs_ex_checkboxes)
;//前面有勾選格
m_list.
setextendedstyle
(lvs_ex_headerdragdrop)
;//表頭可以拖拽
插入列m_list.
insertcolumn(0
,_t("姓名"
),lvcfmt_center,80)
;m_list.
insertcolumn(1
,_t("性別"
),lvcfmt_center,80)
;
新增項m_list.
insertitem(0
,_t("張三"))
;m_list.
setitemtext(0
,1,_t
("男"))
;
得到選擇項position pos = m_list.
getfirstselecteditemposition()
;int nsel = m_list.
getnextselecteditem
(pos);if
(nsel <0)
控制項訊息函式引數void cpreviewdlg::
onitemchangedlist2
(nmhdr *pnmhdr, lresult *presult)
}*presult =0;
}
設定某行被選中
屬性:always show selection->true
m_list.
setitemstate
(nindexrow, lvni_focused | lvis_selected, lvni_focused | lvis_selected)
;m_list.
setfocus()
;
得到所有列的個數int ncolumncount = m_list.
getheaderctrl()
->
getitemcount()
;
獲取列名稱lvcolumn col;
wchar_t buffer[
128]
;col.mask = lvcf_text;
col.cchtextmax =
128;
col.psztext = buffer;
m_list.
getcolumn(3
,&col)
;messagebox
(buffer)
;
選中某一行並滾輪滾動到某一行
屬性:always show selection->true
int ncount = m_list.
getitemcount()
; m_list.
setitemstate
(ncount-
1, lvis_selected|lvis_focused, lvis_selected|lvis_focused)
; m_list.
ensurevisible
(ncount-
1, false)
;
m_list.
setfocus()
;
列表控制項CListCtrl
clistctrl m listdevice 設定listctrl 風格及擴充套件風格 m listdevice.setextendedstyle m listdevice.getextendedstyle lvs ex gridlines lvs ex fullrowselect dwstyle ...
虛擬列表控制項(CListCtrl)
m list.setitemcount 100 3 處理它的通知訊息。五 如何響應虛擬列表的訊息 1 處理 lvn getdispinfo 通知訊息 當虛擬列表控制項需要某個資料的時候,它給父視窗傳送乙個 lvn getdispinfo通知訊息,表示請求某個資料。因此列表的所有者視窗 或者它自己 必...
虛擬列表控制項(CListCtrl)
虛擬列表控制項 clistctrl 2011年02月16日 星期三 下午 02 02 m list.setitemcount 100 3 處理它的通知訊息。五 如何響應虛擬列表的訊息 http www.pudn.com downloads72 sourcecode windows control l...