在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;
}
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:C++程序员常用工具集
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
在 VC++ 中使用 内联汇编
MSDN相关内iv...
内联汇编 寄存器 操作符 -
在VC和VS中使用条件断点
,目的有时候我们打了一个断点,但是希望当同时满足其他某些条件时才让这个断点触
c++ 条件断点 右键 打开菜单 -
VC获取其他进程ListCtrl内容
VC读写其他进程ListCtrl数据到本进程的实例,下面用Windows任务管理器来做测试
c++ 任务管理器 窗口句柄 可编辑