INT_PTR CGeneralMsgBox::MessageBox(LPCWSTR lpText, LPCWSTR lpCaption, UINT uiFlags) { // Private member UINT uiType = uiFlags & MB_TYPEMASK; UINT uiIcon = uiFlags & MB_ICONMASK; int iDefB = ((int)uiFlags & MB_DEFMASK) / 256; if (lpText != NULL) SetMsg(lpText); if (lpCaption != NULL) SetTitle(lpCaption); else SetTitle(IDS_ERROR); if (uiIcon == 0) uiIcon = MB_ICONEXCLAMATION; SetStandardIcon(uiIcon); int num_buttons(0); int ButtonCmdIDs[3]; int ButtonCmdTexts[3]; switch (uiType) { case MB_OK: num_buttons = 1; ButtonCmdIDs[0] = IDOK; ButtonCmdTexts[0] = IDS_OK; break; case MB_OKCANCEL: num_buttons = 2; ButtonCmdIDs[0] = IDOK; ButtonCmdIDs[1] = IDCANCEL; ButtonCmdTexts[0] = IDS_OK; ButtonCmdTexts[1] = IDS_CANCEL; m_uiEscCmdId = IDCANCEL; break; case MB_ABORTRETRYIGNORE: num_buttons = 3; ButtonCmdIDs[0] = IDABORT; ButtonCmdIDs[1] = IDRETRY; ButtonCmdIDs[2] = IDIGNORE; ButtonCmdTexts[0] = IDS_ABORT; ButtonCmdTexts[1] = IDS_RETRY; ButtonCmdTexts[2] = IDS_IGNORE; break; case MB_YESNOCANCEL: num_buttons = 3; ButtonCmdIDs[0] = IDYES; ButtonCmdIDs[1] = IDNO; ButtonCmdIDs[2] = IDCANCEL; ButtonCmdTexts[0] = IDS_YES; ButtonCmdTexts[1] = IDS_NO; ButtonCmdTexts[2] = IDS_CANCEL; m_uiEscCmdId = IDCANCEL; break; case MB_YESNO: num_buttons = 2; ButtonCmdIDs[0] = IDYES; ButtonCmdIDs[1] = IDNO; ButtonCmdTexts[0] = IDS_YES; ButtonCmdTexts[1] = IDS_NO; break; case MB_RETRYCANCEL: num_buttons = 2; ButtonCmdIDs[0] = IDRETRY; ButtonCmdIDs[1] = IDCANCEL; ButtonCmdTexts[0] = IDS_RETRY; ButtonCmdTexts[1] = IDS_CANCEL; m_uiEscCmdId = IDCANCEL; break; case MB_CANCELTRYCONTINUE: num_buttons = 3; ButtonCmdIDs[0] = IDCANCEL; ButtonCmdIDs[1] = IDTRYAGAIN; ButtonCmdIDs[2] = IDCONTINUE; ButtonCmdTexts[0] = IDS_CANCEL; ButtonCmdTexts[1] = IDS_TRYAGAIN; ButtonCmdTexts[2] = IDS_CONTINUE; m_uiEscCmdId = IDCANCEL; break; default: ASSERT(0); } if (iDefB > (num_buttons - 1)) iDefB = 0; CString cs_text; for (int n = 0; n < num_buttons; n++) { cs_text.LoadString(ButtonCmdTexts[n]); AddButton(ButtonCmdIDs[n], cs_text, n == iDefB ? TRUE : FALSE); } INT_PTR rc = DoModal(); return rc; }
BOOL CSystemTray::SetStandardIcon(UINT nIDResource) { return SetStandardIcon(MAKEINTRESOURCE(nIDResource)); }
bool CTrayIcon::SetStandardIcon(UINT nIDResource) { return SetStandardIcon(MAKEINTRESOURCE(nIDResource)); }