MFC中ListControl控制項的使用

2021-07-31 07:59:16 字數 3544 閱讀 3681

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

lvs_icon: 為每個item顯示大圖示

lvs_smallicon: 為每個item顯示小圖示

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

lvs_report: 顯示item詳細資料

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

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

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」);//設定資料

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

int nindex = 0;

//選中

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

//取消選中

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

m_list.setextendedstyle(lvs_ex_checkboxes);

cstring str;

for(int i=0; i  }

方法一:

cstring str;

for(int i=0; i  }

方法二:

position pos = m_list.getfirstselecteditemposition();

if (pos == null)

trace0("no items were selected!/n");

else  }

tchar szbuf[1024];

lvitem lvi;

lvi.iitem = nitemindex;

lvi.isubitem = 0;

lvi.mask = lvif_text;

lvi.psztext = szbuf;

lvi.cchtextmax = 1024;

m_list.getitem(&lvi);

q173242: use masks to set/get item states in clistctrl

lvcolumn lvcol;

char  str[256];

int 

ncolnum;

cstring  strcolumnname[4];//假如有4列

ncolnum = 0;

lvcol.mask = lvcf_text;

lvcol.psztext = str;

lvcol.cchtextmax = 256;

while(m_list.getcolumn(ncolnum, &lvcol)) 

m_list.ensurevisible(i, false);

int nheadnum = m_list.getheaderctrl()->getitemcount();

方法一:

while ( m_list.deletecolumn (0))

因為你刪除了第一列後,後面的列會依次向上移動。

方法二:

int ncolumns = 4;

for (int i=ncolumns-1; i>=0; i--)

m_list.deletecolumn (i);

新增listctrl控制項的nm_click訊息相應函式

void ctest6dlg::onclicklist1(nmhdr* pnmhdr, lresult* presult)

新增listctrl控制項的nm_click訊息相應函式

void ctest6dlg::onclicklist1(nmhdr* pnmhdr, lresult* presult)

*presult = 0; }

新增listctrl控制項的nm_rclick訊息相應函式

void ctest6dlg::onrclicklist1(nmhdr* pnmhdr, lresult* presult)

} *presult = 0; }

15.修改某一行的某一項

m_listrecvdetail.setitem(m_listitemcount-2,3,lvif_text,"不應答",0,0,0,null);

16 . 失去焦點後依然高亮顯示某一行或者熄滅某一行

//

獲得選中行的索引

m_seccount = (int)m_lc.getfirstselecteditemposition()-1;//

設定選中行一直高亮顯示

m_lc.setitemstate(m_seccount,lvis_drophilited,lvif_state);

//取消在失去高亮時候選中行的高亮顯示

m_lc.setitemstate(m_seccount,false,lvif_state);

17. 單擊list control 獲取行號

新增響應nm_click訊息

void ceventadddlg::onnmclicklisteventselect(nmhdr *pnmhdr, lresult *presult)

*presult = 0 ;

}

MFC中ListControl控制項的使用

以下未經說明,listctrl預設view 風格為report lvs icon 為每個item顯示大圖示 lvs smallicon 為每個item顯示小圖示 lvs list 顯示一列帶有小圖示的item lvs report 顯示item詳細資料 直觀的理解 windows資源管理器,檢視 標...

MFC中ListControl控制項的使用

以下未經說明,listctrl預設view 風格為report lvs icon 為每個item顯示大圖示 lvs smallicon 為每個item顯示小圖示 lvs list 顯示一列帶有小圖示的item lvs report 顯示item詳細資料 直觀的理解 windows資源管理器,檢視 標...

MFC控制項之listControl簡單應用

屬性 view 圖示 icon 小圖示 small icon 列表 list 報表 report 設定風格 dword dwstyle m list.getextendedstyle 獲取list control的風格 dwstyle lvs ex fullrowselect 整行選中 dwstyl...