示例#1
0
文件: App.cpp 项目: chrisoldwood/WCL
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);
}
示例#2
0
文件: App.cpp 项目: chrisoldwood/WCL
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);
}
示例#3
0
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());
		}
	}
}