+
+
+ ZeroMemory(&mbd, sizeof(mbd));
+ memcpy(&mbd.mbp, lpMsgBoxParams, sizeof(mbd.mbp));
+ lpMsgBoxParams = &mbd.mbp;
+
+ mbd.wLanguageId = (WORD)lpMsgBoxParams->dwLanguageId; // FIXME!
+ mbd.dwTimeout = dwTimeout;
+
+ /* Create the selected buttons; unknown types will fall back to MB_OK */
+ i = (lpMsgBoxParams->dwStyle & MB_TYPEMASK);
+ if (i >= ARRAYSIZE(MsgBtnInfo))
+ i = MB_OK;
+
+ /* Get buttons IDs */
+ Buttons = MsgBtnInfo[i];
+
+ /* Add the Help button */
+ if (lpMsgBoxParams->dwStyle & MB_HELP)
+ {
+ Buttons.btnIdx[Buttons.btnCnt] = IDHELP;
+ Buttons.btnIds[Buttons.btnCnt] = IDS_HELP;
+ Buttons.btnCnt++;
+ }
+
+ mbd.pidButton = Buttons.btnIdx;
+ mbd.ppszButtonText = ButtonText;
+ mbd.dwButtons = Buttons.btnCnt;
+
+ mbd.uDefButton = ((lpMsgBoxParams->dwStyle & MB_DEFMASK) >> 8);
+ /* Make the first button the default button if none other is */
+ if (mbd.uDefButton >= mbd.dwButtons)
+ mbd.uDefButton = 0;
+ // mbd.uCancelId;
+