关于MFC中CListCtrl::InsertColumn()和InsertItem()和SetItemText()的一些认识

才开始写博客,有很多不懂的或者表达不清楚的,请谅解!还有因为是自己在自学,所有可能有些话是错的,所以请朋友们看到后留言指出错误,大家一起学习,非常感谢!!

刚刚在学习MFC中的List Control控件的时候遇到一些问题,就是InsertColumn()InsertItem()SetItemText()这几个函数。我是看的和我弟学校合作的培训学校的视频学习的,那个老师虽然能力还不错,但是表达能力不是很好,有很多的地方都是简单的提一下,然后知道需要这么做,但是不知道为什么需要这样,以及这样的含义。搞得我弟现在都在说信息量好大,确实是的,我也是才在开始自学,感觉MFC就是这样。各种函数,控件等等。。。。。想要学好就必须下来下死功夫,查资料,解决问题。好了,进入正题。

InsertItem()SetItemText()是一起用的,前者是表示向List控件申请一行来放数据,请记住,只是申请哦!而存放数据,对它进行具体操作的又是SetItemText()。这里值得一提的是如果不先调用InsertItem(),是没有用的哦,我最开始就是感觉好奇,不明白为什么才去查资料的。后来明白了,InsertItem()仅仅是申请而已。

关于InsertItem()和SetItemText()的使用示例:

      前面已经增加好了一个m_list控件变量,

<pre class="cpp" name="code">m_list.InsertItem(0,_T("111"));//这个_T("111")可以随便修改,也可以直接设置为NULL的。但是每插入一行数据就必须//写这个函数,这个第一个参数就是已经存在的条数。最开始是为0,依次递增
m_list.SetItemText(0,0,_T("卡一"));//第一行第一列是卡一
m_list.SetItemText(0,1,_T("密码一"));//第一行第一列是密码一

这样的显示效果等会再统一上传。

刚刚那个只是表的内容,还需要写每一列的最上面的标题,就像一个excel中的学号,姓名,性别这些。而用到的函数就是InsertColumn();它使用的示例如下:

m_list.InsertColumn(0,_T("卡号"),LVCFMT_CENTER,60);//表明添加一个名称:卡号
 m_list.InsertColumn(1,_T("密码"),LVCFMT_CENTER,60);//添加密码名称

附上MSDN查询

CListCtrl::InsertItem


int InsertItem( const LVITEM* pItem );


int InsertItem( intnItem, LPCTSTR lpszItem);


int InsertItem( intnItem, LPCTSTR lpszItem, intnImage);


int InsertItem( UINTnMask, intnItem, LPCTSTRlpszItem, UINTnState, UINT nStateMask, intnImage, LPARAM lParam);


CListCtrl::SetItemText


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


Return Value


Nonzero if successful; otherwise zero.


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.


CListCtrl::InsertColumn


int InsertColumn( int nCol, const LVCOLUMN* pColumn );


int InsertColumn( intnCol, LPCTSTR lpszColumnHeading, intnFormat= LVCFMT_LEFT, intnWidth= -1, intnSubItem= -1 );

由于今晚太晚,先睡觉啦,我弟一直再催我睡觉,空了再继续更。写得很乱,瞌睡有点来了,大家将就看。不懂的或者有错误的就回复我,谢谢!






版权声明:本文为qq_25821067原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。