让你的软件界面更漂亮(六)仿QQ主界面之ListCtrl
2008-01-19 20:25:25 来源:WEB开发网核心提示:3.MyListCtrl 要包含丰富的用户信息(如 ID,NAME 、IP Address 、视频可用 ,让你的软件界面更漂亮(六)仿QQ主界面之ListCtrl(3),手机短消息等用户信息)QQ 的ListCtrl 包含了很多信息,如在线用户和不在线用户的头象不同,如查找,增加,有视频设备的用户还会显示标志,开通了手
3.MyListCtrl 要包含丰富的用户信息(如 ID,NAME 、IP Address 、视频可用 ,手机短消息等用户信息)
QQ 的ListCtrl 包含了很多信息,如在线用户和不在线用户的头象不同,有视频设备的用户还会显示标志,开通了手机短消息功能的也会显示标志,等等。这是如何实现的?找MSDN分析CListCtrl 发现,有两个函数SetItemData(int nItem,DWORD dwData),和
DWORD GetItemData(int nItem),非常有用,这个32位 data 做几个标志还是不错的,但还是无法表达更多的东东。如果把这32位 data作为外部结构的地址是否可行呢?经实验是可行的,但在要外部处理,封装性能不好! 于是定义了一个用户信息的结构。
struct LUSERITEM
再定义一个链表,用来管理用户信息的结构,如查找,增加,删除等操作。 在头文件中添加
{
CString szUserID;
CString szUserName;
CString szIPAddress;
CString szServerAddress;
CString szNoticeMsg;
BOOL bOnline;
int nHeadImageIndex;
//根据需要可增加信息
};#include <dequ>
typedef std::deque<LUSERITEM> DEQUELVITEM;
更多精彩
赞助商链接