Visual C++ MFC в подробностях
Страница 4. AfxMessageBox


AfxMessageBox

Из переменной:

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 );
Пример 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.

 
« Предыдущая статья   Следующая статья »