tempad
Readygo技术搜索引擎 >>PHP技术 >> 如何得到CListCtl控件中某一行中的值?????????

如何得到CListCtl控件中某一行中的值?????????

Readygo技术搜索引擎 网络搜索 efish 2008-1-14 16:14:10

如何得到CListCtl控件中某一行中的值?????????

楼主andy_lau(天行键,君子当自强不息!)2002-07-20 09:37:59 在 VC/MFC / 基础类 提问

例如:现在控件中的值为]  
  姓名       年龄           班级  
  andy       41             9903  
  cyj         22             9903  
  ....     ....           .....  
   
   
  我想通过点击得到相应的值,例如:点击andy得到andy   的值,点击41则得到41  
   
   
  如何?????  
  有源程序的最好。。。。 问题点数:100、回复次数:7Top

1 楼wwwllg(野蛮人)回复于 2002-07-20 10:06:40 得分 50

for(int   i=0;i<m_Dwdm_List.GetItemCount();i++)  
  {  
  if(m_Dwdm_List.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)  
  break;  
  }  
  int   cx1=   GetColumnWidth(0);  
  int   cx2=   GetColumnWidth(1);  
  int   cx3=   GetColumnWidth(2);  
  CRect   rITem;  
  GetItemRect(i,&rITem,LVIR_BOUNDS       );  
  CRect   r1=rITem;  
  CRect   r2=rITem;  
  CRect   r3=rITem;  
  r1.right   =r1.left   +   cx1;  
  r3.left   =   r3.right   -   cx3;  
  r2.left   =   r1.right   ;  
  r2.right   +=   cx2;  
  CPoint   p;  
  GetItemPosition(   i,&p);  
  CString   text   ="";  
  if(r1.PtInRect(p))  
  {  
  text   =   GetItemText(i,0);  
  }  
  if(r2.PtInRect(p))  
  {  
  text   =   GetItemText(i,1);  
  }  
  if(r3.PtInRect(p))  
  {  
  text   =   GetItemText(i,2);  
  }  
  Top

2 楼archoo(archoo)回复于 2002-07-20 10:15:33 得分 0

用GetItem()和SubItemHitTest()可以实现你的功能;Top

3 楼archoo(archoo)回复于 2002-07-20 10:29:24 得分 50

从CListCtrl派生一个类  
  class   CMyListCtrl:public   CListCtrl  
  {}  
  重载OnLButtonDown,  
  void   CMyListCtrl:OnLButtonDown(UINT   nFlags,   CPoint   point)  
  {  
                LVHITTESTINFO   ht;  
  ht.pt   =   point;  
  int   rval   =   ListView_SubItemHitTest(   m_hWnd,   &ht   );  
                  if(rval==-1)   return;  
   
                  CListCtrl::OnLButtonDown(nFlags,   point);  
  CString   str;  
  str   =   GetItemText(   ht.iItem,   ht.iSubItem   );  
                  //str   就是老兄要的东东   ~_~  
  }Top

4 楼xiaoweihua(老肖)回复于 2002-07-20 10:51:33 得分 0

查MSDN,肯定有例子的Top

5 楼ynli2002(阿男)回复于 2002-07-20 11:02:57 得分 0

试试用GetItemPosition(   )和GetItemText()Top

6 楼clin2y(林子)回复于 2002-07-20 13:34:14 得分 0

用GetItemPosition(   )和GetItemText()Top

责任编辑: efish 参与评论 查找更多:
相关文章
所谓jre是指什么涵义,具体有那些部分组成 所谓jre是指什么涵义,具体有那些部分组成
请做过数字图像处理的高手看过来! 请做过数字图像处理的高手看过来!
关于FastRept的打印问题? 关于FastRept的打印问题?
请问怎样让消息框弹出后,5秒后自动关掉! 请问怎样让消息框弹出后,5秒后自动关掉!
谁有吉他?会弹的有多少?我也想用吉他抒发情感。。。 谁有吉他?会弹的有多少?我也想用吉他抒发情感。。。
请教二者之间的区别? 请教二者之间的区别?
请问我的程序在编译的时候,有一个错误是class type … 请问我的程序在编译的时候,有一个错误是class type redefinition
同时操作一种企业管理软件,我开销售单你即时可以在… 同时操作一种企业管理软件,我开销售单你即时可以在本地机器上看到
到底用pb访问远程sybase数据库有哪些方法? 到底用pb访问远程sybase数据库有哪些方法?
一个数组的问题,请高手们来讨论! 一个数组的问题,请高手们来讨论!
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎