// DlgLog.cpp : 구현 파일입니다. // #include "stdafx.h" #include "ReviewSystem.h" #include "DlgLog.h" // CDlgLog 대화 상자입니다. IMPLEMENT_DYNAMIC(CDlgLog, CDialog) CDlgLog::CDlgLog(CWnd* pParent /*=NULL*/) : CDialog(CDlgLog::IDD, pParent) { } CDlgLog::~CDlgLog() { } void CDlgLog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST_LOG, m_ctrlLogList); } BOOL CDlgLog::OnInitDialog() { CDialog::OnInitDialog(); // TODO: 여기에 추가 초기화 작업을 추가합니다. m_ctrlLogList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); m_ctrlLogList.InsertColumn(0, _T("시간"), LVCFMT_CENTER, 150); m_ctrlLogList.InsertColumn(1, _T("내용"), LVCFMT_LEFT, 690); return TRUE; // return TRUE unless you set the focus to a control // 예외: OCX 속성 페이지는 FALSE를 반환해야 합니다. } BEGIN_MESSAGE_MAP(CDlgLog, CDialog) ON_BN_CLICKED(IDOK, &CDlgLog::OnBnClickedOk) ON_BN_CLICKED(IDCANCEL, &CDlgLog::OnBnClickedCancel) ON_WM_SIZE() END_MESSAGE_MAP() // CDlgLog 메시지 처리기입니다. void CDlgLog::OnBnClickedOk() { // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. //OnOK(); } void CDlgLog::OnBnClickedCancel() { // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. //OnCancel(); } void CDlgLog::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); if (m_ctrlLogList.GetSafeHwnd()) { m_ctrlLogList.SetWindowPos(NULL, 0, 0, cx, cy, SWP_NOZORDER); } // TODO: 여기에 메시지 처리기 코드를 추가합니다. } void CDlgLog::DisplayMessage(const CString& strMessage) { CTime time; CString strStamp; if (m_ctrlLogList.GetItemCount() > 100) m_ctrlLogList.DeleteItem(0); //if (nCount % MAX_PRINT_COUNT == 0) //{ // m_ctrlLogList.ResetContent(); //} SYSTEMTIME currentTime; ::GetLocalTime(¤tTime); time = CTime::GetCurrentTime(); strStamp.Format(_T("[%02d:%02d:%02d:%02d:%02d:%02d]"), time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond()); int nRow = m_ctrlLogList.InsertItem(m_ctrlLogList.GetItemCount(), strStamp); m_ctrlLogList.SetItemText(nRow, 1, strMessage); m_ctrlLogList.EnsureVisible(nRow, FALSE); }