본문 바로가기
개발자/MFC

MFC ListControl Report View의 insert 및 Update

by Alex.K 2009. 11. 19.
반응형

void CPerformanceMonitorDlg::InsertList(const char *pszMachineName, double cpu, long mem, long network, long processMem, long processHandle)
{
 char buffer[128];
 LVITEM item;
 int i = m_ServerListControl.GetItemCount();

 m_ServerListControl.InsertItem(LVIF_TEXT, i, pszMachineName, 0, 0, i, NULL);

 memset(&item, 0 ,sizeof(item));
 item.iItem = i;
 item.mask = LVIF_TEXT;

 item.iSubItem = 1;
 sprintf(buffer, "%.2lf", cpu);
 item.pszText = buffer;
 m_ServerListControl.SetItem(&item);

 item.iSubItem = 2;
 sprintf(buffer, "%ld", mem);
 item.pszText = buffer;
 m_ServerListControl.SetItem(&item);

 item.iSubItem = 3;
 sprintf(buffer, "%ld", network);
 item.pszText = buffer;
 m_ServerListControl.SetItem(&item);

 item.iSubItem = 4;
 sprintf(buffer, "%ld", processMem);
 item.pszText = buffer;
 m_ServerListControl.SetItem(&item);

 item.iSubItem = 5;
 sprintf(buffer, "%ld", processHandle);
 item.pszText = buffer;
 m_ServerListControl.SetItem(&item);
}

void CPerformanceMonitorDlg::UpdateList(int index, const char *pszMachineName, double cpu, long mem, long network, long processMem, long processHandle)
{
 char buffer[128];
 LVITEM item;
 int i = index;

 memset(&item, 0 ,sizeof(item));
 item.iItem = i;
 item.mask = LVIF_TEXT;

 item.iSubItem = 0;
 item.pszText = (char *) pszMachineName;
 m_ServerListControl.SetItem(&item);

 item.iSubItem = 1;
 sprintf(buffer, "%.2lf %", cpu);
 item.pszText = buffer;
 m_ServerListControl.SetItem(&item);

 item.iSubItem = 2;
 sprintf(buffer, "%ld", mem);
 item.pszText = ToThousand(buffer);
 m_ServerListControl.SetItem(&item);

 item.iSubItem = 3;
 sprintf(buffer, "%ld", network);
 item.pszText = ToThousand(buffer);
 m_ServerListControl.SetItem(&item);

 item.iSubItem = 4;
 sprintf(buffer, "%ld", processMem);
 item.pszText = ToThousand(buffer);
 m_ServerListControl.SetItem(&item);

 item.iSubItem = 5;
 sprintf(buffer, "%ld", processHandle);
 item.pszText = ToThousand(buffer);
 m_ServerListControl.SetItem(&item);
}

m_List.SetColumnHeader(_T("STEP, 50; abc, 70; bcd, 70"));
 m_List.SetGridLines(TRUE);
 m_List.SetEditable(TRUE);

 

반응형

댓글