我做的是一个服务器跟客户端的程序,客户端连接之后客户端名称在服务器的CListCtrl网格中显示,我点击这个客户端名称想对他发送消息(我采用右键弹出菜单形式来做的),但是不能够实现。是不是CListCtrl里要响应什么消息才能够给这个客户端发送消息?

解决方案 »

  1.   

    右键点击listctrl的item弹出菜单
          添加listctrl控件的NM_RCLICK消息相应函数
          void CTest6Dlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult)
          {
               NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
               if(pNMListView->iItem != -1)
               {
                    DWORD dwPos = GetMessagePos();
                    CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
        
                    CMenu menu;
                    VERIFY( menu.LoadMenu( IDR_MENU1 ) );
                    CMenu* popup = menu.GetSubMenu(0);
                    ASSERT( popup != NULL );
                    popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this );
               } 
               *pResult = 0;
      }
    至于菜单的响应需要你自己的处理了