MFC CListCtrl控制項使用總結整理

2021-11-07 12:26:57 字數 4240 閱讀 3997

m_local_filelist.ensurevisible(filelist_row, false); //使該行顯示可見

1、獲取控制項原來風格

dword dwstyle = m_list.getextendedstyle();

2、更改控制項擴充套件風格

m_list.setextendedstyle(m_list.getextendedstyle() | lvs_ex_checkboxes);

注:若手動建立控制項時,在create時的樣式裡,不能包含以上,應在create後,在更改控制項擴充套件風格

樣式型別:

dwstyle |= lvs_ex_fullrowselect;//選中某行使整行高亮(只適用與report風格的listctrl)

dwstyle |= lvs_ex_gridlines;//網格線(只適用與report風格的listctrl)

dwstyle |= lvs_ex_oneclickactivate ; //設定單擊啟用樣式

dwstyle |= lvs_ex_checkboxes; 設定checkbox樣式

dwstyle |= lvs_ex_infotip;//裝置列表項顯示提示資訊

m_local_filelist.setextendedstyle(dwstyle);

3、插入列表列名

m_alarmlist.insertcolumn(0, "編號", lvcfmt_left, width/4);

列名文字位置:

lvcfmt_left 居左 lvcfmt_right 居右 lvcfmt_center居中

4、設定列寬

m_list.setcolumnwidth(列值, 寬度);

5、插入列表第一行值,設定列表該行其他列值

int nrow = m_alarmlist.insertitem(0, "資訊一");

m_alarmlist.setitemtext(nrow, 1, "xx路口有滯留物!");

int nitem = m_list.getitemcount();

m_list.insertitem(nitem, strfilename, nicon);

m_list.setitemtext(nitem, 1, strsize);

6、設定指定行的繫結值,獲取指定項繫結值

m_list.setitemdata(int nitem, dword dwdata );

m_list.getitemdata(int nitem);

m_list.setimagelist(&m_listsmall,lvsil_small);//設定imagelist

m_list.insertcolumn(0,"col 1",lvcfmt_left,300,0);//設定列

m_list.insertcolumn(1,"col 2",lvcfmt_left,300,1);

m_list.insertcolumn(2,"col 3",lvcfmt_left,300,2);

m_list.insertitem(0,"item 1_1");//插入行

m_list.setitemtext(0,1,"item 1_2");//設定該行的不同列的顯示字元

m_list.setitemtext(0,2,"item 1_3");

listctrl的使用

獲取當前被選中的行, 並取出該行指定列的值

int nselect = m_filelist.getselectionmark();

m_filelist.getitemtext(nselect, 1, m_selectdata, sizeof(m_selectdata));

//設定列表文字顏色

m_alarmloglist.settextcolor(rgb(0, 0, 255));

//設定列表文字大小

cfont font;

verify(font.createfont(

12nheight

0nwidth

0nescapement

0norientation

fw_normalnweight

falsebitalic

falsebunderline

0cstrikeout

ansi_charsetncharset

out_default_precisnoutprecision

clip_default_precisnclipprecision

default_qualitynquality

default_pitch | ff_swiss, // npitchandfamily

_t("ariallpszfacename

m_alarmloglist.setfont(&font, true);

int nselect = m_listdevice.getselectionmark();

mfc 中的clistctrl簡介 (2008-08-12 10:12)

分類: mfc程式設計

以下未經說明,listctrl預設view 風格為report

相關類及處理函式

mfc:clistctrl類

sdk:以 「listview_」開頭的一些巨集。如 listview_insertcolumn

void ondblclklist2(nmhdr* pnmhdr, lresult* presult);

on_notify(nm_dblclk, idc_list2, ondblclklist2)

void cdlgtest::ondblclklist2(nmhdr* pnmhdr, lresult* presult)

1. clistctrl 風格

lvs_icon: 為每個item顯示大圖示

lvs_smallicon: 為每個item顯示小圖示

lvs_list: 顯示一列帶有小圖示的item

lvs_report: 顯示item詳細資料

直觀的理解:windows資源管理器,「檢視」標籤下的「大圖示,小圖示,列表,詳細資料」

2. 設定listctrl 風格及擴充套件風格

long lstyle;

lstyle = getwindowlong(m_list.m_hwnd, gwl_style);//獲取當前視窗style

lstyle &= ~lvs_typemask; //清除顯示方式位

lstyle |= lvs_report; //設定style

setwindowlong(m_list.m_hwnd, gwl_style, lstyle);//設定style

dword dwstyle = m_list.getextendedstyle();

dwstyle |= lvs_ex_fullrowselect;//選中某行使整行高亮(只適用與report風格的listctrl)

dwstyle |= lvs_ex_gridlines;//網格線(只適用與report風格的listctrl)

dwstyle |= lvs_ex_checkboxes;//item前生成checkbox控制項

m_list.setextendedstyle(dwstyle); //設定擴充套件風格

注:listview的style請查閱msdn

3. 插入資料

m_list.insertcolumn( 0, "id", lvcfmt_left, 40 );//插入列

m_list.insertcolumn( 1, "name", lvcfmt_left, 50 );

int nrow = m_list.insertitem(0, 「11」);//插入行

m_list.setitemtext(nrow, 1, 「jacky」);//設定資料

4. 一直選中item

選中style中的show selection always,或者在上面第2點中設定lvs_showselalways

5. 選中和取消選中一行

int nindex = 0;

//選中

m_list.setitemstate(nindex, lvis_selected|lvis_focused, lvis_selected|lvis_focused);

//取消選中

m_list.setitemstate(nindex, 0, lvis_selected|lvis_focused);

6. 得到listctrl中所有行的checkbox的狀態

m_list.setextendedstyle(lvs_ex_checkboxes);

Label控制項

在第一章,我們已經知道,任何乙個 vb 程式都是由操作介面及與之相應的程式 組成,而操作介面則是由諸如 命令按鈕控制項 標籤控制項 等控制項以及窗體共同組成。從本章開始,我們進入控制項的學習過程。與以後我們要學到的文字框控制項 textbox 不同的是,標籤控制項顯示的文字不能直接進行修改,要修改的...

常用控制項總結

標籤 label 常用屬性 caption,name,fontname,fontsize,borderstyle,backcolor,autosize,wordwrap。事件 文字框 text 常用屬性 value,name,controlsource,passwordchar,alignment,...

解決農行控制項

解決 農業銀行控制項 無法安裝華軟研究員驗證,確實有效。請您仔細閱讀以下內容,此內容是由多位支付寶專家和眾多使用者總結而成,相信對您解決問題會有幫助,同時感謝你對華夏的關注,謝謝。這是因為系統中沒有正確安裝農行安全控制項造成的。一般在網頁左下角有提示網頁上有錯誤。無法完成交易。客戶的瀏覽器有攔截提示...