enum { ONLINELIST_IP=0, //IP的列顺序 ONLINELIST_Proxy, //代理 ONLINELIST_COMPUTER_NAME, //计算机名/备注 ONLINELIST_OS //操作系统 };
建立枚举列表条目如上,将定义放在头文件里。这样以后方便改动
建立一个函数,添加处理列表函数。
我们先来完善上线列表设计。
typedef struct //声明结构体 { char *title; //列表的名称 int nWidth; //列表的宽度 }COLUMNSTRUCT; COLUMNSTRUCT g_Column_Data[] = //声明结果体数组 { {"IP", 200 }, {"计算机名/备注", 200 }, {"操作系统", 200 }, {"proxy", 200 } }; int g_Column_Count=4; //列表的个数 从0开始
int CGhostDlg::InitList(void)
{
//初始化上线列表
for (int i = 0; i < g_Column_Count; i++)
{
m_list_oline.InsertColumn(i, g_Column_Data[i].title,LVCFMT_CENTER,g_Column_Data[i].nWidth); //以居中的方式,循环插入数据
}
return 0;
}
再来看InitList(void) 函数
好了。我们现在开编译运行看看什么结果。(记得在OnInitDialog()函数中调用自定义的函数)
现在上线列表设计完成了,接下来设计日志列表。
远控上线下线,都需要日志来记录或者提醒。
COLUMNSTRUCT g_Column_Data_Message[] = { {"信息类型", 68 }, {"时间", 100 }, {"信息内容", 660 } }; int g_Column_Count_message=3; //消息个数3
在InitList 函数里循环插入条目。
for (int i = 0; i < g_Column_Count_message; i++) { m_list_msg.InsertColumn(i, g_Column_Data_Message[i].title,LVCFMT_CENTER,g_Column_Data_Message[i].nWidth); }
编译运行,看看结果。
最后代码完成如下:
原文:http://www.cnblogs.com/killbit/p/5093409.html