怎么在CListCtrl中设置某一行为被选定的行(例如:设置第五行为选定的行,并且高亮显示)。不解决老大炒人啦!!!!

解决方案 »

  1.   

    BOOL SetColumn( int nCol, const LVCOLUMN* pColumn );
      

  2.   

    如果你要选定整行,需:
    SetExtendedStyle(LVS_EX_FULLROWSELECT );
      

  3.   

    SetHotItem(int iIndex)不就可以吗
      

  4.   

    用MFC默认的列表控件不是已经有这个功能了吗???你如果说的是初始化时就选定,我同意楼上的观点
      

  5.   

    SetItemState()也可以将指定得行作为选中行,SetExtendedStyle(LVS_EX_FULLROWSELECT );的作用是将整行选中
      

  6.   

    SetItemState(nIndex, LVIS_SELECTED ,LVIS_SELECTED );
      

  7.   

    但是SetHotItem()只能改变文本的着色,而且鼠标移到listctrl控件里面就消失了,我想让整行都高亮显示,怎么办?加分!!!!!
      

  8.   

    先设置属性,保证可被整行选中:
    SetExtendedStyle(LVS_EX_FULLROWSELECT );
    然后调用CListCtrl::SetItemState:
    SetItemState(5,LVIS_SELECTED,LVIF_TEXT|LVIF_STATE);  //假设设置第五行为选中。
      

  9.   

    这句修改一下:
    SetItemState(5,LVIS_SELECTED|LVIS_DROPHILITED,LVIF_TEXT|LVIF_STATE);  //假设设置第五行为选中。
      

  10.   

    确定你的List中有头和数据
    在插入头上面加入:
    SetExtendStyle(LVS_FULLROWSELECT | LVS_EX_GRID_)
    第一个是全行显视第二个是网格
      

  11.   

    SetExtendedStyle(LVS_EX_FULLROWSELECT );
      

  12.   

    好累,看了几十个了发送鼠标消息,模拟鼠标选择该行,不就行了!!!
    :)give me cent!!!
      

  13.   

    SetExtendedStyle(LVS_EX_FULLROWSELECT );