• MFC可视化 列表控件的使用


    1、应该加入头文件

     
    #include <Atlbase.h>
     
    2、示例
     
    MFC下列表控件的使用 - songxing10000 - 十一岁的加重
     
     
    类向导给列表控件绑定变量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,"王五");
    CString str1,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_ITEM lvItem;
      lvItem.mask=LVIF_TEXT;
      lvItem.iSubItem=0;
      lvItem.pszText="";
    for(i=0; i<Rnumber; i++)
        {
      
            for(int j=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);
       }
    }
     
    控件的及时更新
    void CMy3Dlg::OnButton1() 
    {
        // TODO: Add your control notification handler code here
        CString str;
        int sent=1;
        for(int i=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();就可以了。

     
  • 相关阅读:
    for 续1
    8 解决多线程对共享数据出错
    7 多线程 全局变量
    6 线程threading
    5 多进程copy文件
    4 进程间通信Queue [kjuː]
    3 进程池
    2 进程multiprocessing [mʌltɪ'prəʊsesɪŋ] time模块
    1 多任务fork Unix/Linux/Mac
    16 pep8 编码规范
  • 原文地址:https://www.cnblogs.com/XDJjy/p/3807663.html
Copyright © 2020-2023  润新知