您的位置:首页 > 其它

学习远控界面设计四: 列表中添加条目

2016-01-01 16:50 218 查看
列表设计思路:
(1)服务端上线后要显示在列表中,这样有一个统一的函数来处理会使代码更加简洁。
(2)消息显示分为成功失败两种,还要在其中显示消息产生的时间,这样也应该有一个统一的函数来处理。

我们先来添加一个函数:

void CGhostDlg::AddList(CString strIP, CString strPCName, CString strOS, CString strProxy)
{
m_list_oline.InsertItem(0,strIP);           //默认为0行  这样所有插入的新列都在最上面
m_list_oline.SetItemText(0,ONLINELIST_COMPUTER_NAME,strPCName); //解决问题会避免以后扩展时的冲突
m_list_oline.SetItemText(0,ONLINELIST_OS,strOS);  //依次插入字符。索引分别为0,1,2,3
m_list_oline.SetItemText(0,ONLINELIST_Proxy,strProxy);
}


我们来测试一下伪上线:



接下来设计日志条目:

void CGhostDlg::ShowMessage(bool bIsOK, CString strMsg)
{
CString strIsOK,strTime;
CTime t=CTime::GetCurrentTime();
strTime=t.Format("%H:%M:%S");
if (bIsOK)
{
strIsOK="执行成功";
}else{
strIsOK="执行失败";
}
m_list_msg.InsertItem(0,strIsOK);
m_list_msg.SetItemText(0,1,strTime);
m_list_msg.SetItemText(0,2,strMsg);
}


将函数运用到伪上线函数里去。





那我们还有一个问题,现在列表框中的数据只能单选,不能选择一行,那如何做到选择一行呢?



来到InitList()中插入代码:

m_list_oline.SetExtendedStyle(LVS_EX_FULLROWSELECT);

m_list_msg.SetExtendedStyle(LVS_EX_FULLROWSELECT);


完成,最后编译看效果。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: