rt
在线等!

解决方案 »

  1.   

    截获LBN_SELCHANGE,在消息函数里面判断选中数目是否大于等于3,如果是就return TRUE
      

  2.   

    这个说的很好。GetSelCount()可以获得当前选中项的个数GetCurSel 返回列表框中当前选择串的基于零的索引 
    SetCurSel 选择一个列表框字符串
      

  3.   

    GetCurSel SetCurSel 这两个函数都是针对单选类型的列表框!!!
    CListBox类的所有函数我都知道,我有MSDN!!!!!!!!就是没有一个方便设置最大选择数的函数,5楼的方法我也想过,不是很直接和方便。
      

  4.   

    换个CListCtrl你在CListCtrl派生类中处理WM_LBUTTONDOWN事件,在里面用
    //这里先用HitTest判断你是否是点击在已经被选中但你又取消选中状态的项中,是的话就直接CListCtrl::OnLButtonDown(nFlags, point);返回,这里用CListCtrl的原因是因为它有HitTest这个方法
    if(GetSelectedCount() <3)
    CListCtrl::OnLButtonDown(nFlags, point);
    else
    return;