您的位置:首页 > 其它

MFC可视化 列表控件的使用

2014-06-25 11:11 190 查看
1、应该加入头文件

#include<Atlbase.h>

2、示例



类向导给列表控件绑定变量m_list

DWORD
dwExStyle=LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_FLATSB;

m_list.ModifyStyle(0,LVS_REPORT|LVS_SINGLESEL|LVS_SHOWSELALWAYS);
m_list.SetExtendedStyle(dwExStyle);

m_list.InsertColumn(0,"姓名",LVCFMT_LEFT,40);
m_list.InsertColumn(1,"性别",LVCFMT_LEFT,40);
m_list.InsertColumn(2,"年龄",LVCFMT_LEFT,40);
m_list.InsertColumn(3,"年级",LVCFMT_LEFT,40);
m_list.InsertItem(0,"张三");
m_list.InsertItem(1,"李四");
m_list.InsertItem(2,"王五");
CStringstr1,str2,str3;
str1="男";
str2="20";
str3="三年级";
m_list.SetItemText(0,1,str1);
m_list.SetItemText(0,2,str2);
m_list.SetItemText(0,3,str3);

LV_ITEMlvItem;
lvItem.mask=LVIF_TEXT;
lvItem.iSubItem=0;
lvItem.pszText="";
for(i=0;i<Rnumber;i++)
{

for(intj=0;j<Rnum[i];j++)
{
lvItem.iItem=j;
str1=R[i][j].des_ip.c_str();
//MessageBox(str1);

str2=R[i][j].next_ip.c_str();
str3.Format("%d",R[i][j].jump_num);
m_list1.InsertItem(&lvItem);
m_list1.SetItemText(j,0,str1);
m_list1.SetItemText(j,1,str2);
m_list1.SetItemText(j,2,str3);
}
}

控件的及时更新

voidCMy3Dlg::OnButton1()
{
//TODO:Addyourcontrolnotificationhandlercodehere
CStringstr;
intsent=1;
for(inti=0;i<8;i++)
{

sent++;
str.Format("%d数据包发送完毕",sent);
((CListBox*)GetDlgItem(IDC_LIST1))->AddString(str);
Sleep(1000);
UpdateWindow();
((CListBox*)GetDlgItem(IDC_LIST1))->ResetContent();

}
}

想实现每隔1000ms显示添加的数据,但是每次都是要等到函数结束后才会更新。

在网上找到了答案。在延迟后面添加更新函数UpdateWindow();就可以了。



http://www.cppblog.com/finehai/archive/2009/09/17/96574.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: