int CApp::QueryMsg(const tchar* pszMsg, ...) const { CString strMsg; // Setup arguments. va_list args; va_start(args, pszMsg); // Format message. strMsg.FormatEx(pszMsg, args); return MessageBox(m_rMainWnd.Handle(), strMsg, m_strTitle, MB_YESNOCANCEL | MB_ICONQUESTION | MB_TASKMODAL); }
int CApp::FatalMsg(const tchar* pszMsg, ...) const { CString strMsg; // Setup arguments. va_list args; va_start(args, pszMsg); // Format message. strMsg.FormatEx(pszMsg, args); return MessageBox(m_rMainWnd.Handle(), strMsg, m_strTitle, MB_OK | MB_ICONSTOP | MB_TASKMODAL); }
void CNetDDESvrApp::Trace(const tchar* pszMsg, ...) { // Nothing to do? if (!m_bTraceToWindow && !m_bTraceToFile) return; CString strMsg; // Setup arguments. va_list args; va_start(args, pszMsg); // Format message. strMsg.FormatEx(pszMsg, args); // Prepend date and time. strMsg = CDateTime::Current().ToString() + TXT(" ") + strMsg; // Convert all non-printable chars. strMsg.RepCtrlChars(); // Send to trace window. if (m_bTraceToWindow) { m_AppWnd.m_AppDlg.Trace(strMsg); } // Write trace to log file. if (m_bTraceToFile) { try { if (m_strTracePath.Exists()) m_fTraceFile.Open(m_strTracePath, GENERIC_WRITE); else m_fTraceFile.Create(m_strTracePath); m_fTraceFile.Seek(0, WCL::IStreamBase::END); m_fTraceFile.WriteLine(strMsg, ANSI_TEXT); m_fTraceFile.Close(); } catch (CFileException& e) { m_bTraceToFile = false; AlertMsg(TXT("Failed to write to trace file:\n\n%s"), e.twhat()); } } }