回 帖 发 新 帖 刷新版面

主题:listbox内容获取问题

在mfc里面我做了个listbox,我想通过鼠标双击得到所选的内容
改怎么实现?
初学着,实在不懂,请指教。

回复列表 (共3个回复)

沙发

查看MSDN
CListBox类中有一个双击的响应函数,可通过该函数进行获取

板凳

void CQQLoginDlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
    // TODO: Add your control notification handler code here

    CPoint pt; 

    GetCursorPos(&pt); 
    //    ::ScreenToClient(&pt);

    CMenu menu;
    menu.CreatePopupMenu();
    menu.InsertMenu(0,MF_POPUP | MF_BYPOSITION);
    menu.AppendMenu(MF_STRING,111,"全选");
    menu.AppendMenu(MF_STRING,112,"反选");
    
    int i;
    DWORD SelectionMade=menu.TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_NONOTIFY|TPM_RETURNCMD,pt.x,pt.y,this); 
    switch(SelectionMade) 
    { 
    case 111: 
        for(i=0;i<m_ListCtrl.GetItemCount();i++)
        {
            m_ListCtrl.SetCheck(i);
        }
        break;
    case 112: 
        for(i=0;i<m_ListCtrl.GetItemCount();i++)
        {
            m_ListCtrl.SetCheck(i,!m_ListCtrl.GetCheck(i));
        }
        break;
    } 

    *pResult = 0;
}
双击编写 OnRclickList1 中内容即可,如上

3 楼

虽然不太懂但是很感谢,
我现在已经解决了
呵呵

我来回复

您尚未登录,请登录后再回复。点此登录或注册