怎样使用CListCtrl控件中InsertItem和SettItemtext函数

最近做一个小项目用到CListCtrl控件中InsertItem和SettItemtext函数这两个函数,用了好大劲才明白,希望以后少走弯路内容如下:

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种和第三种,其中第三种时建立一个带有头标的项

 

nItem:    控件中行的索引
     lpszItem : 控件头的名字
***********************************************************

SettItemtext函数的原型
   

BOOL SetItemText(  int nItem,  int nSubItem,  LPCTSTR lpszText );

 

Parameters

nItem

Index of the item whose text is to be set.

nSubItem

Index of the subitem, or zero to set the item label.

lpszText

Pointer to a string that contains the new item text.

Return Value

Nonzero if successful; otherwise zero.

 

****************************************************

下面用实例讲解InsertItem和SettItemtext函数的用法

Crecordset  m_rsUserInfo;//数据集

.......

 

CListCtrl  Users;

 

 

 

do
         {
             
             
             a=Users.GetItemCount();
             Users.InsertItem(a,UserId);//在第a行的第一列插入UserId


            // 此时Users.GetItemCount()的值是一而不是0因为一行已插入了

             Users.SetItemText(a,USER_NAME_COL_ID,UserName);//设置第a行的USER_NAME_COL_ID列text为UserName;
            /* Users.SetItemText(a,USER_NAME_COL_ID+1,L"test1");
             Users.SetItemText(a,USER_NAME_COL_ID+2,L"test2");*/
             m_rsUserInfo.MoveNext();
         }while(!m_rsUserInfo.IsEOF());

上面代码以很清晰了即

a=Users.GetItemCount();
Users.InsertItem(a,UserId);//插入一行(第a行),在第a行的第一列插入UserId

Users.SetItemText(a,USER_NAME_COL_ID,UserName);//设置第a行的USER_NAME_COL_ID列text为UserName;

特别注意Users.InsertItem(a,UserId)之后Users.GetItemCount()的值增加1.

我曾这样用(*************嘿嘿*********用错了):

    Users.InsertItem(Users.GetItemCount(),UserId);//在第a行的第一列插入UserId

Users.SetItemText(Users.GetItemCount(),USER_NAME_COL_ID,UserName);//设置第a行的USER_NAME_COL_ID列text为UserName;


你可能感兴趣的:(String,user)