IDC_LIST的应用实例

来源:互联网 发布:魏佳庆的淘宝 编辑:程序博客网 时间:2024/06/07 08:24

1IDC_LIST1关联一个变量函数(将IDC_LIST1的style下面的view改成report)。

2BOOL CLogDlg::OnInitDialog()中加入下面代码:

m_lstLog.SetExtendedStyle(m_lstLog.GetExtendedStyle() | LVS_EX_FULLROWSELECT);

      m_lstLog.InsertColumn(0, "Seq", LVCFMT_LEFT, 80);

      m_lstLog.InsertColumn(1, "Time", LVCFMT_LEFT, 200);

      m_lstLog.InsertColumn(2, "Log", LVCFMT_LEFT, 250);

      m_lstLog.InsertColumn(3, "Log(2)", LVCFMT_LEFT, 300);

3.给CLogDlg类增加一个成员函数Log,代码如下:

void CLogDlg::Log(const char *p_szLogInfor)

{

      //UpdateData();

      m_iLogSeq++;

      

   CString    strSeq;

   CString    strTime;

   CString    strLog;

      // CString    strLog2;

      

      SYSTEMTIME timeNow;

   CSize      sizeScroll;

      

   strSeq.Format("%d", m_iLogSeq);

      

   GetLocalTime(&timeNow);

      

   strTime.Format("%02d/%02d/%04d %02d:%02d:%02d.%03d",

       timeNow.wMonth, timeNow.wDay, timeNow.wYear,

       timeNow.wHour, timeNow.wMinute, timeNow.wSecond,

       timeNow.wMilliseconds);

      

   strLog = p_szLogInfor;

      //    strLog2=p_szLogInfor222;

      int         i = m_lstLog.InsertItem (m_lstLog.GetItemCount(), strSeq);

   m_lstLog.SetItemText(i, 1, strTime);

   m_lstLog.SetItemText(i, 2, strLog);

      //    m_lstLog.SetItemText(i,3,strLog2);

   

      sizeScroll.cx = 0;

   sizeScroll.cy = 20;

      

   m_lstLog.Scroll(sizeScroll);

      

      while(m_lstLog.GetItemCount() > 5000)

      {

             m_lstLog.DeleteItem(0);

      }

      //UpdateData(FALSE);

}

4,在相应Button1的函数中代码如下:

void CLogDlg::OnButton1()

{

      // TODO: Add your control notification handler code here

      UpdateData(TRUE);

      Log("good!");

      UpdateData(FALSE);

}