有关listcontrol的问题

whdxcaoguo 2009-02-24 12:43:06
我做了个listcontrol的框架,想把学号,姓名,数学,英语成绩登上去,怎么做?用InsertItem()怎么用?
...全文
67 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xmrforever 2009-02-24
  • 打赏
  • 举报
回复

BOOL SetItemText( int nItem, int nSubItem, LPTSTR lpszText );
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.
以上是MSDN介绍的内容
使用的话也很简单
首先在.h文件中定义CListCtrl m_Grid;
然后在你想添加内容的地方做如下操作
m_Grid.InsertItem(x,y,Text);
x是行,y是列,Text是你要写入的内容


levelmouse 2009-02-24
  • 打赏
  • 举报
回复
具体风格要你自己看着设了。。。
long lStyle = (long)m_ListCtrl.SendMessage(LVM_GETEXTENDEDLISTVIEWSTYLE);

lStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES |
LVS_EX_HEADERDRAGDROP;

m_ListCtrl.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0,
(LPARAM)lStyle);
LV_COLUMN lvc;

lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH ;

lvc.iSubItem = 0;
lvc.pszText = _T("学号");//列名
lvc.cx = 80;//列宽
m_ListCtrl.InsertColumn(0,&lvc);

lvc.iSubItem = 1;
lvc.pszText = _T("姓名");
lvc.cx = 80;
m_ListCtrl.InsertColumn(1,&lvc);

lvc.iSubItem = 2;
lvc.pszText = _T("数学成绩");
lvc.cx = 80;
m_ListCtrl.InsertColumn(2,&lvc);

lvc.iSubItem = 3;
lvc.pszText = _T("英语成绩");
lvc.cx = 80;
m_ListCtrl.InsertColumn(3,&lvc);

下面就是结合数据库往里面写数据了

m_ListCtrl.InsertItem(i,_T("line"+i),i);//插入一行
m_ListCtrl.SetItemText(i, 0 ,...);//第一列
...
lwx300 2009-02-24
  • 打赏
  • 举报
回复
先使用 InsertColumn 添加 学号,姓名,数学,英语 这些列,然后使用 InsertItem 添加行。

PWIN98/95下演练CList
http://www.vckbase.com/study/article/common_ctrl/listctrl.htm
xxfyath 2009-02-24
  • 打赏
  • 举报
回复
函数:
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 );

===========================

例:
int CDlgWarnHandle::AddItem(CListCtrl *pList, BOOL bAdd, int nItem, int nSubItem, LPCTSTR strItem, LPARAM lParam)
{
if(nSubItem == 0xFF || pList==NULL) return -1;
LV_ITEM lvItem;

lvItem.mask = LVIF_TEXT;
lvItem.iItem = nItem;//行
lvItem.iSubItem = nSubItem; //列
lvItem.pszText = (LPTSTR) strItem;

if((nSubItem == 0 )&& bAdd ) //m_bAddMode , 每行第一列时添加,添加其它列时为更新。
{
lvItem.mask = LVIF_TEXT | LVIF_PARAM;
lvItem.lParam = lParam;
return pList->InsertItem(&lvItem);
}

return pList->SetItem(&lvItem);
}
zaodt 2009-02-24
  • 打赏
  • 举报
回复
Google 搜索一下 CListCtrl

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧