int SsUMessageBox(HWND hWnd,//オーナーウィンドウのハンドルUINTuAppType,//アプリタイプUINTuMsgId,//メッセージID UINTuMsgType,//メッセージボックスのタイプ)MSGBOXCALLBACKMsgBoxCallback,// CallBackUINTuHelpId//ヘルプのID...){CString wrk_szAppCap;CString wrk_szMsgStr;CString strMessage;UNREFERENCED_PARAMETER(uHelpId);// タイトルとメッセージ內容を取得する::LoadString(AfxGetResourceHandle(), uAppType, wrk_szAppCap.GetBuffer(MAX_PATH), MAX_PATH);::LoadString(AfxGetResourceHandle(), uMsgId, wrk_szMsgStr.GetBuffer(MAX_STRING), MAX_STRING);wrk_szAppCap.ReleaseBuffer();wrk_szMsgStr.ReleaseBuffer();va_list argList;va_start(argList, uHelpId);strMessage.FormatV((LPCTSTR)wrk_szMsgStr, argList);va_end(argList);MSGBOXPARAMS mbp;memset(&mbp, 0, sizeof(mbp));mbp.cbSize = sizeof(MSGBOXPARAMS);mbp.hwndOwner = hWnd;mbp.hInstance = AfxGetInstanceHandle(); mbp.lpszText = strMessage;mbp.lpszCaption = wrk_szAppCap; // ヘルプIDを設定するif (uHelpId != 0){mbp.dwStyle = uMsgType | MB_SETFOREGROUND | MB_HELP; }else{mbp.dwStyle = uMsgType | MB_SETFOREGROUND; }mbp.dwContextHelpId = uHelpId; mbp.lpfnMsgBoxCallback = MsgBoxCallback; mbp.dwLanguageId = GetDefaultLangId();int iMsg = ::MessageBoxIndirect(&mbp);return iMsg;}// メッセージボックスのヘルプボタンのコールバックVOID CALLBACK AppMsgBoxCallback(LPHELPINFO lpHelpInfo){CString helpFile;CString strHelpFile;switch(lpHelpInfo->dwContextId){case BOOKAPP_START_NOCMD:case BOOKAPP_MEMORY_NOTENOUGH:case BOOKAPP_DISK_NOTENOUGH:case BOOKAPP_LANCHING_FALIED:strHelpFile.Format(BOOKAPP_HELP_MSG_DLG, lpHelpInfo->dwContextId);helpFile.Format("%s%s%s", AfxGetApp()->m_pszHelpFilePath, BOOKMESSAGE_HP, strHelpFile);break;default:break;} // ヘルプ対応::HtmlHelp(NULL, (LPCSTR)helpFile, HH_DISPLAY_TOPIC, NULL);}