CListCtrl控制項應用

2021-06-19 09:11:46 字數 3235 閱讀 2082

常用操作:

1、新增列標題頭:insertcolumn

2、獲取與設定列寬:getcolumnwidth、setcolumnwidth

3、新增一行:insertitem、setitemtext

4、獲取與設定單元文字:getitemtext、setitemtext

5、允許多行選中時,獲取選中的行數:getselectedcount

6、單行選中時,獲取選中的行:getselectionmark

7、選中某行:setitemstate(n, lvis_selected, lvis_selected);取消選中的行setitemstate(n,0,-1);使用此函式前需要先呼叫setfocus();

8、獲取某行的狀態是否為選中:getitemstate(n, lvis_selected) == lvis_selected

9、刪除所有行:deleteallitems

10、刪除指定列:deletecolumn

11、刪除指定行:deleteitem

12、獲取與設定列表控制項的背景色:getbkcolor、setbkcolor

13、獲取與設定文字背景色:gettextbkcolor、settextbkcolor

14、獲取與設定文字前景色:gettextcolor、settextcolor

15、獲取與設定check:getcheck、setcheck,使用前需要設定控制項屬性setextendedstyle(lvs_ex_checkboxes);使控制項有勾選功能

16、獲取與設定圖示列表:getimagelist、setimagelist

17、獲取與設定行附加資料:getitemdata、setitemdata

18、獲取與設定擴充套件風格樣式:getextendedstyle、setextendedstyle

19、設定正行選中與網格線:setextendedstyle(lvs_ex_fullrowselect | lvs_ex_gridlines);

20、讓listctrl支援編輯的功能:

①、將屬性中的 edit labels 設定為 true;

②、響應控制項的 lvn_ednlabeledit 訊息,新增如下**:

cstring strtext;

m_listctrl.geteditcontrol()->getwindowtext(strtext);

m_listctrl.setitemtext(pdispinfo->item.iitem, pdispinfo->item.isubitem, strtext);

21、多行可選時,跳到第乙個被選中的行,即使第乙個被選中的行可視。

position pos = pview->getlistctrl().getfirstselecteditemposition();

int nfirstsel = pview->getlistctrl().getnextselecteditem(pos);

if (nfirstsel != -1)

列表中新增圖示**:

m_listctrl.insertcolumn(0,_t("第1列"),0,100);

m_listctrl.insertcolumn(1,_t("第2列"),0,100);

m_listctrl.insertcolumn(2,_t("第3列"),0,100);

m_listctrl.insertitem(0,_t("資料1"),0);//後面的0表示新增cimagelist中的第0個圖示

m_listctrl.insertitem(1,_t("資料2"),1);//後面的1表示新增cimagelist中的第1個圖示

m_listctrl.insertitem(2,_t("資料3"),2);

m_listctrl.setitemtext(0,1,_t("01"));

m_listctrl.setextendedstyle(lvs_ex_checkboxes);//設定控制項有勾選功能

dword dwstyle = m_listctrl.getextendedstyle();

m_listctrl.setextendedstyle(dwstyle|lvs_ex_fullrowselect);設定控制項選中行的功能

遍歷資料夾並顯示檔名與圖示:

複製列表內容

void c***view::oncopydatatoclipboard() 

//用\r\n來控制回車和換行

if (i != nselectcount - 1)

strdata += "\r\n";

}//複製到剪貼簿

在非第一列中新增圖示

m_list.setextendedstyle(lvs_ex_fullrowselect|lvs_ex_gridlines|lvs_ex_subitemimages);

m_list.setitem(0,1,lvif_text|lvif_image,「aaa」,0,0,0,0);//在第一行第二列加入第1個圖示

m_list.setitem(i,1,lvif_text|lvif_image,szbuffer,i,0,0,0);

列表控制項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...