CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

List ctrl 为什么插不进去数据呢?

楼主wfongcn(wf)2006-03-03 12:12:00 在 VC/MFC / 界面 提问

我使用List   ctrl   为什么老是添加不进去数据呢,下面是我的代码:  
  //---------------------------------------------------------------------------------------  
  LVCOLUMN   listCol;  
  memset(&listCol,   0,   sizeof(LVCOLUMN));  
  listCol.mask   =   LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;  
  listCol.cx   =   0x75;  
  listCol.pszText   =   "序号";  
  SendMessage(   GetDlgItem   (hDlg,IDC_LISTVIEW)   ,LVM_INSERTCOLUMN,0,(LPARAM)&listCol);   //Insert/Show   the   coloum  
  listCol.cx   =   0x60;  
  listCol.pszText="姓名";                                                         //   Next   coloum  
  SendMessage(GetDlgItem   (hDlg,IDC_LISTVIEW),LVM_INSERTCOLUMN,1,(LPARAM)&listCol);   //   ...  
   
  LVITEM   lvItem;  
  memset(&lvItem,   0,   sizeof(LVITEM));  
  lvItem.iItem   =   1;  
  lvItem.iSubItem   =   1;  
  lvItem.cchTextMax   =   256;  
  lvItem.pszText   =   "数据1";  
  SendMessage(GetDlgItem   (hDlg,IDC_LISTVIEW),LVM_INSERTITEM,lvItem.iItem,(LPARAM)&lvItem);  
  //-------------------------------------------------------------------------------------  
   
  请指教!!~   (不使用MFC) 问题点数:30、回复次数:8Top

1 楼laiyiling(陌生人[MVP])回复于 2006-03-03 12:32:22 得分 0

设置为了report?Top

2 楼wfongcn(wf)回复于 2006-03-03 12:34:04 得分 0

是的!~Top

3 楼yameng(雅梦)回复于 2006-03-03 12:38:32 得分 0

SendMessage中使用的句柄是正确的吗?索引对不对?Top

4 楼wfongcn(wf)回复于 2006-03-03 12:42:40 得分 0

姓名,序号,已经添加到相关的item项,HANDLE没有问题。Top

5 楼newcore(to be or not to be, it's a question.)回复于 2006-03-03 12:52:03 得分 0

帮你顶一下  
   
   
   
  Top

6 楼wfongcn(wf)回复于 2006-03-03 12:59:15 得分 0

哥们,顶怎么可以,要解决问题啊!~5555~~~~Top

7 楼laiyiling(陌生人[MVP])回复于 2006-03-03 13:08:35 得分 30

下面是一个封装的API控件的CPP代码,仔细看看  
  /////////////////////////////////////////////////////////////////////  
  //   Listview_Control   (2004.6.24)   [By   ZhangLu]  
  /////////////////////////////////////////////////////////////////////  
  #include"zListview.h"  
  /////////////////////////////////////////////////////////////////////  
  zListview::zListview()  
  {  
  memset(this,0,sizeof(zListview));  
  InitCommonControls();  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::create(HINSTANCE   hinst,HWND   hpwnd,int   x,int   y,int   w,int   h)  
  {  
  itemlast=itemnum=colnum=0;  
  hwnd=CreateWindow(WC_LISTVIEW,"",WS_CHILD|WS_VISIBLE|WS_BORDER|  
  LVS_REPORT|LVS_SHOWSELALWAYS|LVS_SINGLESEL,  
  x,y,w,h,hpwnd,0,hinst,0);  
  if(!hwnd)   return   FALSE;  
  SendMessage(hwnd,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);  
  return   TRUE;  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::destroy()  
  {  
  BOOL   r=DestroyWindow(hwnd);  
  hwnd=0;  
  return   r;  
  }  
  /////////////////////////////////////////////////////////////////////  
  void   zListview::bind(HWND   vhwnd)  
  {  
  itemlast=itemnum=colnum=0;  
  hwnd=vhwnd;  
  SendMessage(hwnd,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::clearcol()  
  {  
  for(int   i=colnum;i>0;i--,colnum--)  
  if(SendMessage(hwnd,LVM_DELETECOLUMN,0,0)==FALSE)   return   FALSE;  
  return   TRUE;  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::getcol(char   *name,int   index)  
  {  
  LVCOLUMN   lvc;  
  lvc.mask =LVCF_TEXT|LVCF_SUBITEM;  
  lvc.pszText =name;  
  lvc.cchTextMax =256;  
  lvc.iSubItem =index;  
  return   SendMessage(hwnd,LVM_GETCOLUMN,index,(long)&lvc);  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::setcol(int   index,char   *name)  
  {  
  LVCOLUMN   lvc;  
  SendMessage(hwnd,LVM_GETCOLUMN,index,(long)&lvc);  
  lvc.pszText=name;  
  return   SendMessage(hwnd,LVM_SETCOLUMN,index,(long)&lvc);  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::addcol(char   *name,int   width,int   index)  
  {  
  LVCOLUMN   lvc;  
  lvc.mask =LVCF_FMT|LVCF_WIDTH|LVCF_TEXT|LVCF_SUBITEM;  
  lvc.fmt   =LVCFMT_LEFT;  
  lvc.cx =width;  
  lvc.pszText   =name;  
  lvc.iSubItem=(index==-1)?colnum:index;  
  colnum++;  
  return   SendMessage(hwnd,LVM_INSERTCOLUMN,lvc.iSubItem,(long)&lvc)!=-1;  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::delcol(int   index)  
  {  
  colnum--;  
  return   SendMessage(hwnd,LVM_DELETECOLUMN,index,0);  
  }  
  /////////////////////////////////////////////////////////////////////  
  int   zListview::findcol(char   *name)  
  {  
  char   s[256];  
  for(int   i=0;i<colnum;i++)  
  {  
  getcol(s,0);  
  if(!strcmp(name,s))   return   i;  
  }  
  return   -1;  
  }  
  /////////////////////////////////////////////////////////////////////  
  void   zListview::setcolwidth(int   index,int   width)  
  {  
  SendMessage(hwnd,LVM_SETCOLUMNWIDTH,index,MAKELPARAM(width,0));  
  }  
  /////////////////////////////////////////////////////////////////////  
  void   zListview::setautowidth()  
  {  
  for(int   i=0;i<colnum;i++)  
  SendMessage(hwnd,LVM_SETCOLUMNWIDTH,i,MAKELPARAM(LVSCW_AUTOSIZE_USEHEADER,0));  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::clearitem()  
  {  
  itemnum=0;  
  return   SendMessage(hwnd,LVM_DELETEALLITEMS,0,0);  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::getitem(char   *name,int   index,int   subindex)  
  {  
  LVITEM   lvi;  
  lvi.mask =LVIF_TEXT;  
  lvi.iItem =index;  
  lvi.iSubItem=subindex;  
          lvi.pszText =name;  
  return   SendMessage(hwnd,LVM_GETITEM,0,(long)&lvi);  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::setitem(char   *name,int   subindex,int   index)  
  {  
  LVITEM   lvi;  
  lvi.mask =LVIF_TEXT;  
  lvi.iItem =(index==-1)?itemlast:index;  
  lvi.iSubItem=subindex;  
          lvi.pszText =name;  
  return   SendMessage(hwnd,LVM_SETITEM,0,(long)&lvi);  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::additem(char   *name,int   index)  
  {  
  LVITEM   lvi;  
  if(index==-1)   index=itemnum;  
  itemlast=index;  
  itemnum++;  
  lvi.mask =LVIF_TEXT;  
  lvi.iItem =index;  
  lvi.iSubItem=0;  
          lvi.pszText =name;  
  return   SendMessage(hwnd,LVM_INSERTITEM,0,(long)&lvi);  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::delitem(int   index)  
  {  
  itemnum--;  
  return   SendMessage(hwnd,LVM_DELETEITEM,index,0);  
  }  
  /////////////////////////////////////////////////////////////////////  
  int   zListview::finditem(char   *name,int   subindex)  
  {  
  LVFINDINFO   lvf;  
  LVITEM   lvi;  
  lvi.mask =LVIF_TEXT;  
  lvi.iItem =0;  
  lvi.iSubItem=subindex;  
          lvi.pszText =name;  
          lvf.flags=LVFI_PARAM;  
          lvf.lParam=(long)&lvi;  
  return   SendMessage(hwnd,LVM_FINDITEM,-1,(long)&lvi);  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::issel(int   index)  
  {  
  return   SendMessage(hwnd,LVM_GETITEMSTATE,index,LVIS_SELECTED);  
  }  
  /////////////////////////////////////////////////////////////////////  
  int   zListview::getsel()  
  {  
  for(int   i=0;i<itemnum;i++)  
  if(SendMessage(hwnd,LVM_GETITEMSTATE,i,LVIS_SELECTED))  
  return   i;  
  return   -1;  
  }  
  /////////////////////////////////////////////////////////////////////  
  BOOL   zListview::setsel(int   index)  
  {  
  ListView_SetItemState(hwnd,index,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);  
  return   TRUE;  
  }  
  /////////////////////////////////////////////////////////////////////  
  Top

8 楼wfongcn(wf)回复于 2006-03-03 14:01:26 得分 0

太感谢了!~~是我把   LVIF_TEXT   写成了   LVCF_TEXT,我就日了,困扰了我3天啊!~~  
  Top

相关问题

  • List Ctrl如何在插入数据时始终插在第一行,同时但达到50行时删除最后一行,也就是最旧的一行?
  • VC中实现中把sql server的数据(list ctrl控件显示数据)写入到excel文件里面?
  • 插入数据
  • 插入数据
  • 用list ctrl显示大数据,难道不可以吗?请高手指点,具体请进
  • datagrid数据插入
  • 数据库插入数据,高分...
  • 往access数据库中插入数据
  • 数据库插入数据的问题
  • 数据插口坏了吗?

关键词

  • 数据
  • idc
  • ws
  • listcol
  • lvitem
  • zlistview
  • lvm
  • lvcf
  • listview
  • lvs

得分解答快速导航

  • 帖主:wfongcn
  • laiyiling

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo