日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

一步一步学List Control控件的用法(第二步)----创建第一行

發(fā)布時間:2025/7/14 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一步一步学List Control控件的用法(第二步)----创建第一行 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第二步? 創(chuàng)建第一行

?

1、? 在上一節(jié)中我們創(chuàng)建了一個列,那我們可以按照同樣的方法多創(chuàng)建幾個列。在

???? m_ListCtrl.InsertColumn(0, _T("姓名"), LVCFMT_LEFT, 90);

???? 代碼后邊添入下列三行代碼:

???????? m_ListCtrl.InsertColumn(1,_T("性別"),LVCFMT_LEFT,40);

???????? m_ListCtrl.InsertColumn(2,_T("聯(lián)系方式"),LVCFMT_LEFT,160);

m_ListCtrl.InsertColumn(3,_T("備注"),LVCFMT_LEFT,180);

大家可以發(fā)現(xiàn),只有第一個參數(shù)和最后一個參數(shù)不同,這兩個參數(shù)的作用在上一節(jié)我們也介紹過了。第一個參數(shù)是新建列的索引值,是從0開始的,也就是說第一列的索引值是0,第二列的索引值是1,第三列的索引值是2,以此類推,是不是很像數(shù)組的下表啊?

2、? 大家可以運(yùn)行下看看結(jié)果,會出現(xiàn)4個列,列名分別為:姓名,性別,聯(lián)系方式,備注。

3、? 既然我們已經(jīng)創(chuàng)建好了列,那我們來創(chuàng)建行吧。

4、? 首先要知道List Control在顯示為Report樣式時,主項(xiàng)為第一項(xiàng),后面緊跟著的為子項(xiàng)。主項(xiàng)和子項(xiàng)的數(shù)據(jù)寫入不同,這將在后面提到。所以說,在我們的例子當(dāng)中姓名就是主項(xiàng)了,而其余的項(xiàng)就都是子項(xiàng)了。

5、? 在我們剛才添加的代碼后邊繼續(xù)添加代碼:

m_ListCtrl.InsertItem(0,_T("王二小"));

這里我們來看下這個函數(shù)的定義:

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
??????????????)

返回值:

如果成功,則返回新建列的索引值,否則為-1

參數(shù):

pItem

指向指定項(xiàng)屬性LVITEM結(jié)構(gòu)的指針,如聯(lián)機(jī)文檔平臺SDK”中所述。

nItem

被插入項(xiàng)的索引值。

lpszItem

包含項(xiàng)標(biāo)簽的字符串的地址,或當(dāng)項(xiàng)為回調(diào)項(xiàng)時,該變量為LPSTR_TEXT CALLBACK。要了解更多有關(guān)回調(diào)項(xiàng)的信息,請參閱CListCtrl::GetCall backMask.

nImage

項(xiàng)圖象的索引值,或當(dāng)項(xiàng)為回調(diào)項(xiàng)時,該變量為I_IMAGECALLBACK。要了解更多有關(guān)回調(diào)項(xiàng)的信息,請參閱CListCtrl::GetCallbackMask

nMask

參數(shù)nMask指定了哪個項(xiàng)屬性作為參數(shù)傳遞是有效的。它可以是聯(lián)機(jī)文檔平臺SDK” LVITEM結(jié)構(gòu)所描述的一個或多個掩碼值。有效的數(shù)據(jù)能夠通過位與運(yùn)算來組合。

nState

指示項(xiàng)的狀態(tài)、狀態(tài)圖象及輪廓圖象。請參閱聯(lián)機(jī)文檔平臺SDK”中的LVITEM來獲取更多信息,并參閱有效標(biāo)志列表中的列表視圖項(xiàng)狀態(tài)。

nStateMask

指示狀態(tài)成員中的哪一位將被獲取或修改。請參閱聯(lián)機(jī)文檔平臺SDK”中的LVITEM來獲取更多信息。

nImage

圖象列表之內(nèi)項(xiàng)的圖象的索引。

lParam

與項(xiàng)相關(guān)聯(lián)的應(yīng)用指定的32位值。如果該參數(shù)被指定,那么必須設(shè)置nMask的屬性為LVIF_PARAM


說明:向列表視圖控件中新插入一項(xiàng)。

?

很顯然,我們采用的是第二個函數(shù),具有三個參數(shù)的函數(shù)。

6、? 我們這行代碼的作用就是,插入主項(xiàng):王二小,即在第一行第一列姓名中添加了王二小。

7、? 那我們要如何插入子項(xiàng)呢?我們繼續(xù)添加代碼如下:

m_ListCtrl.SetItemText(0,1,_T(""));

我們先來看下這個函數(shù)的定義:

?

BOOL SetItemText(int nItem,int nSubItem,LPTSTR lpszText)
返回值:如果成功,則返回非零值,否則為0

參數(shù):

nItem

要設(shè)定文本項(xiàng)的索引值。

nSubItem

子項(xiàng)的索引,若為零,則設(shè)置項(xiàng)標(biāo)簽。

lpszText

指向包含新項(xiàng)文本字符串的指針。

說明:改變列表視圖項(xiàng)或子項(xiàng)的文本。

?

這個就很好理解了,參數(shù)很少,這個就是為了添加子項(xiàng)。由于是子項(xiàng),需要確定添加的位置,所以肯定需要二維的坐標(biāo)來確定自己的位置,所以需要兩個索引。類似于二維數(shù)組的下標(biāo)。在我們的函數(shù)參數(shù)中,01,表示第1行第2列,而男就是要添加的內(nèi)容了。

8、? 我們按照這個方法繼續(xù)添加代碼如下:

???? ???? m_ListCtrl.SetItemText(0,2,_T("15888888888"));

m_ListCtrl.SetItemText(0,3,_T("兒童團(tuán)"));

9、? 調(diào)試程序,我們將可以看到具有完整的一行數(shù)據(jù)的結(jié)果。如下圖:

10、同樣,我們可以采取同樣的方法,創(chuàng)建添加多行數(shù)據(jù)。

轉(zhuǎn)載于:https://www.cnblogs.com/ainima/archive/2010/03/17/6332037.html

總結(jié)

以上是生活随笔為你收集整理的一步一步学List Control控件的用法(第二步)----创建第一行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。