在一个对话框中,嵌入两个clistctrl控件,对每个listctrl中选中的item进行不同的处理,现在遇到的问题是,如何判断当前哪个listctrl拥有焦点,并获得该listctrl的句炳.谢谢!

解决方案 »

  1.   

    像楼上说的。
      获取焦点了你还要判断具体是那个list,这样才能进行不同的操作。
      

  2.   

    不行啊.我用getfocus 但是不论点击哪个listctrl.都会提示已选中if(GetDlgItem(IDC_LIST_EDITABLE)->GetFocus())
    AfxMessageBox("ok");但是我选中其它listctrl的时候,或者这个listctrl失去焦点的时候,同样也弹出'ok'
      

  3.   

    没做过,但这样写我感觉应该可以做到,(LVNI_FOCUS应该是对的,意思是拥有焦点,如果不是这样写你查查MSDN)
    HWND hListCtrl = NULL;
    if (listCtrl1.GetNextItem(-1, LVNI_FOCUS) != -1)
    {
        // 第一个列表拥有焦点
        hListCtrl = listCtrl1.m_hWnd;
    }
    else if (listCtrl2.GetNextItem(-1, LVNI_FOCUS) != -1)
    {
        // 第二个列表拥有焦点
        hListCtrl = listCtrl2.m_hWnd;
    }
    else
        // 两个列表都不拥有焦点