Функция MessageBox
Теперь, когда вы знаете, что такое модальные и немодальные диалоговые панели, вспомним о нашем старом друге - функции MessageBox, с которой вы начали изучение программного интерфейса Windows:
int WINAPI MessageBox(HWND hwndParent, LPCSTR lpszText, LPCSTR lpszTitle, UINT fuStyle);
Напомним, что эта функция создает на экране диалоговую панель с текстом, заданным параметром lpszText и заголовком, заданным параметром lpszTitle. Если заголовок указан как NULL, используется заголовок по умолчанию - строка "Error".
Параметр hwndParent указывает идентификатор родительского окна, создающего диалоговую панель. Этот параметр можно указывать как NULL, в этом случае у диалоговой панели не будет родительского окна. Вы можете вызвать функцию MessageBox из функции диалога, в этом случае первый параметр должен содержать идентификатор окна диалоговой панели.
Последний параметр fuStyle определяет стиль и внешний вид диалоговой панели. Вы можете использовать одну из следующих констант, определяющих количество кнопок, расположенных на диалоговой панели и надписи на этих кнопках.
Константа | Описание |
MB_ABOTRETRYIGNORE | Диалоговая панель содержит три кнопки с надписями "Abort", "Retry", "Ignore" |
MB_OK | Диалоговая панель содержит одну кнопку "OK" |
MB_OKCANCEL | Две кнопки с надписями "OK", "Cancel" |
MB_RETRYCANCEL | Две кнопки с надписями "Retry", "Cancel" |
MB_YESNO | Две кнопки с надписями "Yes", "No" |
MB_YESNOCANCEL | Три кнопки с надписями "Yes", "No", "Cancel" |
К этим константам при помощи логической операции ИЛИ можно добавлять другие константы.
По умолчанию после инициализации диалоговой панели фокус ввода имеет первая кнопка. Эта кнопка будет использована по умолчанию. Вы можете определить в качестве кнопки, используемой по умолчанию любую из трех кнопок с помощью следующих констант:
Константа | Описание |
MB_DEFBUTTON1 | Первая кнопка используется по умолчанию |
MB_DEFBUTTON2 | Вторая кнопка используется по умолчанию |
MB_DEFBUTTON3 | Третья кнопка используется по умолчанию |