Из переменной:
int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK,
UINT nIDHelp = 0 );
Из ресурсов:
int AFXAPI AfxMessageBox( UINT nIDPrompt, UINT nType = MB_OK,
UINT nIDHelp = (UINT) -1 );
- lpszText - текстовая строка для вывода
- nType - тип сообщения
- nIDHelp - идентификатор помощи
Пример 1.
Совершенно простой вызов только строка для вывода и кнопка OK:
AfxMessageBox(" Key Button Down ");
Пример 2.
В принципе результат тот же - смотри обьявление функции MB_OK по умолчанию.
AfxMessageBox(" Rigth Button Click ",MB_OK);
Пример 3.
Две кнопки Ок и Cancel.
AfxMessageBox(" Rigth Button Click ",MB_OKCANCEL);
И так далее в любом варианте из:
- MB_ABORTRETRYIGNORE - Кнопки Abort, Retry, и Ignore
- MB_OK - Кнопка OK
- MB_OKCANCEL - Кнопки OK и Cancel
- MB_RETRYCANCEL - Кнопки Retry и Cancel
- MB_YESNO - Кнопки Yes и No
- MB_YESNOCANCEL - Кнопки Yes, No, и Cancel
- MB_HELP - Добавить кнопку HELP ( в документации VC++ 5 по AfxMessageBox нет в перечислении !?)
Пример 4.
Здесь прибавляется возможность установить икону вывода слева от надписи.
AfxMessageBox(" Rigth Button Click ",
MB_RETRYCANCEL | MB_ICONSTOP );
Таким методом вы можете добавить любую икону из:
MB_ICONEXCLAMATION |
MB_ICONINFORMATION |
MB_ICONQUESTION |
MB_ICONSTOP |
Пример 5
Здесь показана техника обработки возврата функцией
if (AfxMessageBox(" Rigth Button Click ", MB_RETRYCANCEL )==IDCANCEL)
{
AfxMessageBox("Cancel");
} else {
AfxMessageBox("Retry");
}
Данная функция может возвращать:
- IDABORT - Abort нажата была
- IDCANCELM - Cancel нажата была
- IDIGNORE - Ignore нажата была
- IDNO - No нажата была
- IDOK - OK нажата была
- IDRETRY - Retry нажата была
Пример 6
Надпись в 2 строки в окне сообщения! Для этого между строками поставить код 10.
CString cs = "Test"+(CString)10+ "Hello";
AfxMessageBox(cs, MB_RTLREADING );
Следует отметить, что вы не сможете работать с программой пока не завершите вызов этой функции выбором кнопки.
Реакция на клавишу ESC, если только есть кнопка CANCEL.