在VC中使用ListCtrl保存上线主机SOCKET句柄

 在VC中使用ListCtrl保存上线主机SOCKET句柄

我知道在BCB中的列表框有一个DATE项,昨天晚上在群里草草说VC的ListCtrl也可以存入一个
DWORD类型的数据,这让我很高兴因为,当时我正为如何处理上线主机的SOCKET列表而头疼,
而SOCKET是 unsigned long类型的,也就是说可以把上线的主机存在ListCtrl中,而使用这个方法可以搞定了

保存SOCKET数据


int num=m_list.InsertItem(ImageID,szIP,ImageID);
m_list.SetItemData(num,(DWORD)client);//保存服务SOCKET句柄

这样就把SOCKET句柄跟列表项连接到一快了


获取SOCKET数据

为LIST加一个单击鼠标的消息,当收到消息时取出SOCKET值并设置为 当前SOCKET,代码如下

void CMyDlg::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)
{
    POSITION pos = m_list.GetFirstSelectedItemPosition();
    int currentSelect=m_list.GetNextSelectedItem(pos);    //取当前选择项

    if(currentSelect>=0)
    {   
        DWORD val;
        val=m_list.GetItemData(currentSelect);        //得到数据
        CurrentServerSocket=(SOCKET)val;        //转为SOCKET
    }
    *pResult = 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值