插入列:(行和列都是從0開始)
m_list.insertcolumn(0, "執行時間", lvcfmt_left , 80 ,-1);
m_list.insertcolumn(1, "描述", lvcfmt_left , 80 , -1);
m_list.insertcolumn(2, "程式路徑", lvcfmt_left , 150 , -1);
m_list.insertcolumn(3, "執行狀態", lvcfmt_left , 100 , -1);
插入行:
int n = m_list.getitemcount();
m_list.insertitem(n, str_time ,0);
m_list.setitemtext(n, 1, dlg.m_edit);
m_list.setitemtext(n, 2, dlg.m_filepath);
m_list.setitemtext(n, 3, "未執行");
獲取第i行,第3列的值:
m_list.getitemtext(i, 3);
刪除時要注意一點:
m_listctrl.deleteitem(0)
m_listctrl.deleteitem(1)
因為你刪除第0行以後,下面的行會往上移,那麼原來的第1行就變成了第0行,那麼你再 m_listctrl.deleteitem(1),那麼刪除的是原來的第2行
所以,只有從下往上刪,才是安全的
可以使用下面**:
position sselpos = null;
while(sselpos = m_listctrl.getfirstselecteditemposition())
}獲得選中項:
方法一:
position pos = plist->getfirstselecteditemposition();
if (pos == null)
trace0("no items were selected!/n");
else
} 方法二:
int i=m_oldins.getcursel(); //得到在第乙個listctrl列表中選擇項的索引
cstring str;
if(i==lb_err) //表示沒有選擇
方法三:
int i=m_list.getselectionmark();
刪除clistctrl中選定的項:
position pos;
int nindex;
for(; pos= getfirstselecteditemposition();)
用程式選中某一行,使之選中
m_listctrl.setitemstate(nindex,lvis_selected|lvis_focused,lvis_selected|lvis_focused);
不選中,取消選中之
m_listctrl.setitemstate(nindex,0,lvis_selected|lvis_focused);
設定背景顏色:
m_list.setbkcolor( rgb( 100, 180, 250 ) );
設定字型顏色:
m_list.settextbkcolor( rgb( 100, 180, 250 ) );
ListCtrl用法總結
listctrl在工作中,常常用到,也常常看到大家發帖問怎麼用這個控制項,故總結了一下自己的使用經驗,以供參考使用。先註明一下,這裡,我們用m listctrl來表示乙個clistctrl的類物件,然後這裡我們的listctrl都是report形式,至於其他的如什麼大圖示,小圖示的暫時不講,畢竟re...
關於ListCtrl控制項的一些用法
本人從今天開始將陸續把自己在vc 中學到的點點滴滴記錄下來。最近正好在跟著導師做乙個軟體專案,要用到listctrl控制項。下面結合自己的程式設計經驗 其實我還是個菜鳥 介紹幾個listctrl控制項常用的方法。我選用的是報表形式 1 為listctrl 設定 線 m mylist.setexten...
報表風格的listctrl
報表風格的listctrl 說明 m list是clistctrl型別變數 long lstyle lstyle getwindowlong m list.m hwnd,gwl style 獲取當前視窗的風格 lstyle lvs typemask 清除顯示方式位 lstyle lstyle lvs...