判断一下选中状态呗,nSel = -1就提示没有选中,选中了再进行后面的操作

解决方案 »

  1.   

    第一个就像楼上说的那样,gettext -1会报错,加个
    if ( -1 == nSel)
        return ;
    第二个问题,我先去找我的语文老师回回炉
      

  2.   

    给待选项每位加个标志,初始设为0,如果添加后就设置为1.添加时进行一次判断,如果值为1就不再添加。
    bool flag[10];
    for(int i = 0 ; i < 10 ; i++)
          flag[i]=0;
    if(已添加)
         flag[i] = 1 ;
      

  3.   

    @sdfsdf12345 我想在初始化时设置标志为0;在添加函数中先对标志进行判断,然后进行操作,最后在修改标志。可以吗?另外,我不知道怎么进行标志。能教教我么?
      

  4.   


    //防止重复添加:
    int indexHave = m_list.FindString(-1,str);//这里的str就是你要添加的变量
    if(indexHave != LB_ERR)//说明找到了,也就是重复了
    return;
    //如何选中一项并且添加到右边之后,被选中项恢复为未选中状态
    m_list.SetCurSel(-1);
      

  5.   

    感觉左边的list选择添加后,最好就删掉那一项,然后右边新增相应的,即左边选择、添加“杭州”后,左边list里deleteitem杭州那条,这样显得清晰一些。当然你如果左边继续要保留的话就像4L说的,加个标志位,不过也不用额外再开数组去保存,直接用m_List.SetItemData(行号,0/1)即可,先初始化都为0,触发添加事件时,判断m_List_FileList.GetItemData()的值是否为1,不为1则添加,并m_List.SetItemData(nIndex,TRUE),为1说明已经添加过,就return