void CErrorOperateDlg::OnCbnSelchangeComboOperation1()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(true);
if (m_operation1==0)
{
GetDlgItem(IDC_BTN_OPERATION1)->SetWindowText(_T("设置"));
GetDlgItem(IDC_STATIC_ERRORCODE)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT_ERRORCODE)->ShowWindow(SW_SHOW);
}
else
{
GetDlgItem(IDC_BTN_OPERATION1)->SetWindowText(_T("获取"));
GetDlgItem(IDC_STATIC_ERRORCODE)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_ERRORCODE)->ShowWindow(SW_HIDE);
}
}
void CErrorOperateDlg::ExitFunc()
{
// TODO: 在此处添加实现代码.
AfxMessageBox(_T("被除数不能为0"));
}
void CErrorOperateDlg::OnBnClickedBtnOperation1()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(true);
DWORD dwErrorCode = 0;
if (m_operation1==0)
{
SetLastError(m_dwErrorCode);
dwErrorCode = GetLastError();
}
else if (m_operation1 == 1)
{
if (!CreateDirectory(_T("c:\\"),0))
{
dwErrorCode = GetLastError();
}
}
LPVOID lpMsgbuf;
FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER
| FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
dwErrorCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&lpMsgbuf,
0,
NULL);
CString strErrorMsg = _T("");
strErrorMsg.Format(_T("ErrorCode=%d,ErrorMsg=%s"), dwErrorCode, lpMsgbuf);
LocalFree(lpMsgbuf);
GetDlgItem(IDC_EDIT_ERRORMSG1)->SetWindowTextW(strErrorMsg);
}
void CErrorOperateDlg::OnBnClickedBtnOperation2()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(true);
switch (m_operation2)
{
case 0:
assert(m_nDividend != 0);
break;
case 1:
if (m_nDividend==0)
{
exit(EXIT_FAILURE);
}
break;
case 2:
if (m_nDividend == 0)
{
abort();
}
break;
case 3:
if (m_nDividend == 0)
{
atexit(ExitFunc);
}
break;
case 4:
ASSERT(m_nDividend != 0);
break;
default:
break;
}
double fResult = double(m_nDivisor / m_nDividend);
CString strResut = _T("");
strResut.Format(_T("%f"), fResult);
GetDlgItem(IDC_EDIT_RESULT)->SetWindowTextW(strResut);
}