请教一下CListView中怎么样返回列数,网上有的朋友回答的是GetItemCount(),可是这个是返回行数的.还有CListView怎么样能只选择某一行中的某一个特定的单元格而不是选定整行或第一列.谢谢.

解决方案 »

  1.   

    GetHeaderCtrl()->GetItemCount
      

  2.   

    1.CListView m_ctListView;
    m_ctListView.GetHeaderCtrl()->GetItemCount()就可以得到了.
    2.对于整行有参数设置,可以不让选择.
      

  3.   

    楼上的兄弟,我的目的就是想选定一行中的某一个特定的单元格.我要做一个定制对银行报盘格式的软件,用户从CListView中选择了某个单元格后相关的内容会显示到指定的编辑框中,也可以对选定的这个单元格进行左移或右移.现在的问题是我怎么样才能只选择某一个特定的单元格而不是一整行呢?
      

  4.   

    1.移动的时候,是整列都需要移动吗?还是只移动那一格中的内容?
    2.判断所选择的具体的列,可以通过定位鼠标所在的位置来判断.
    3.可以去www.codeproject.com中查询是否有满足条件的东西.
      

  5.   

    默认的ListView没有单独选中第一列以外的单元格的功能。可以自己重载自绘实现。
      

  6.   

    (注:我用SDK说明。)
        ListView控件没有单独选中第一列以外的单元格的功能。要自己实现,基本思想是:当你点击ListView时,第一步:用函数ListView_SubItemHitTest()测试列表视图鼠标所在的位置,读取其列表视图鼠标所在位置的项的行、列索引号。第二步:用函数ListView_GetSubItemRect()函数得到你鼠标位置所在的单元格的矩形区域信息(RECT)。第三步:根据RECT信息重画一编辑框,背景色可设置成蓝色(表示选中),内容设置成你选中的项的内容即可(有了行列所引号,得其字符串不难)
        希望我说的对你有用。