InsertItem在MSDN中的函数原型如下
int InsertItem( const LVITEM* pItem );
int InsertItem( int nItem, LPCTSTR lpszItem );
int InsertItem( int nItem, LPCTSTR lpszItem, int nImage );
int InsertItem( UINT nMask, int nItem, LPCTSTR lpszItem, UINT nState, UINT nStateMask, int nImage, LPARAM lParam );
一般我们用的比较多的时第2种和第三种,其中第三种时建立一个带有头标的项
要调用第三个,可以先声明一个CImageList对象
m_ImageList.Create(16,16,true,2,2);
m_ImageList.Add(theApp.LoadIcon(IDR_MAINFRAME));
m_ListCtrl.SetImageList(&m_ImageList,LVSIL_SMALL);
这样,控件中的每一行的开头就有一个应用程序图标
现在转入正题,先介绍一下InsertItem个个参数的意义
nItem: 控件中行的索引
lpszItem : 控件头的名字
.........................................................................................................................................................................................................
SetItemText函数的原型
BOOL SetItemText( int nItem, int nSubItem, LPTSTR lpszText );
******************注意这个函数中的参数nItem就是INSERTITEM中的NITEM,
也就是说InsertItem是向控件声请一行来放数据,记住只是升请,那么方数据的工作就又SETITEMTEXT来实现
举例如下:
CListCtrl m_listctrl;
m_listctrl = new ClistCtrl();
m_listctrl.Creae(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS
,bigRect,this,IDC_LIST1
);
m_listctrl.InsertItem(0,"01");
m_SetItemtext(0,1,"1");
m_SetItemtext(0,2,"2");
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
至于要添多少多少个数据,就由你的控件由多少列了
获得可以这样的道 int columns= m_listctr.GetHeaderCtrl()->GetItemCount();
获得可以这样的道 int rows= m_listctrl.GetItemCount();