FindButtonAndResult(handle);
break;
}
+ case MSGBOX_BUTTON_CLOSE:
+ SetReturnValue(MSGBOX_RESULT_CLOSE);
+ break;
+
+ case MSGBOX_BUTTON_CANCEL:
+ SetReturnValue(MSGBOX_RESULT_CANCEL);
+ break;
+
// fall through
case _ModalLoopManager::MODAL_LOOP_EXIT_CODE_APP_TERMINATION:
case _ModalLoopManager::MODAL_LOOP_EXIT_CODE_CONTINUOUS_TERMINATION:
- _ModalLoopManager::GetInstance()->EndMainLoop(exitCode, false);
- __beginModal = false;
+ _ModalLoopManager::GetInstance()->EndMainLoop(exitCode, false);
+ __beginModal = false;
break;
}
if (keyCode == _KEY_ESC || keyCode == _KEY_BACK)
{
+ MessageBoxStyle style = __pMessageBox->GetMsgBoxStyle();
+
if ((__pButtonListener->GetBeginModal() == true) || (__beginModal == true))
{
- _ModalLoopManager::GetInstance()->EndMainLoop(MSGBOX_RESULT_CLOSE, false);
- __beginModal = false;
+ if (__pMessageBox->GetTimeout() != 0)
+ {
+ switch (style)
+ {
+ case MSGBOX_STYLE_NONE:
+ // fall through
+ case MSGBOX_STYLE_OK:
+ // fall through
+ case MSGBOX_STYLE_YESNO:
+ // fall through
+ case MSGBOX_STYLE_ABORTRETRYIGNORE:
+ _ModalLoopManager::GetInstance()->EndMainLoop(MSGBOX_BUTTON_CLOSE, false);
+ __beginModal = false;
+
+ break;
+ case MSGBOX_STYLE_CANCEL:
+ // fall through
+ case MSGBOX_STYLE_OKCANCEL:
+ // fall through
+ case MSGBOX_STYLE_YESNOCANCEL:
+ // fall through
+ case MSGBOX_STYLE_CANCELTRYCONTINUE:
+ // fall through
+ case MSGBOX_STYLE_RETRYCANCEL:
+ _ModalLoopManager::GetInstance()->EndMainLoop(MSGBOX_BUTTON_CANCEL, false);
+ __beginModal = false;
+ break;
+ }
+
+ }
+ else if (style == MSGBOX_STYLE_CANCEL || style == MSGBOX_STYLE_OKCANCEL || style == MSGBOX_STYLE_YESNOCANCEL
+ || style == MSGBOX_STYLE_CANCELTRYCONTINUE || style == MSGBOX_STYLE_RETRYCANCEL)
+ {
+ _ModalLoopManager::GetInstance()->EndMainLoop(MSGBOX_BUTTON_CANCEL, false);
+ __beginModal = false;
+ }
}
return true;
}
-
return false;
}