您的位置:首页 > 其它

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

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

刚刚在学习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( 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 );

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( int nCol, LPCTSTR
lpszColumnHeading, int nFormat = LVCFMT_LEFT, int
nWidth = -1, int nSubItem = -1 );

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


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: