- MessageBox
-
MessageBox — функция Windows API, предназначенная для вывода на экран диалогового окна сообщения одного из стандартных типов. Существует в операционных системах семейства Microsoft Windows и [1]
Содержание
История
Впервые появилась ещё в 16-разрядных версиях Windows. Начиная с Windows NT 3.1, поддерживает Unicode.
Возможности
С помощью функции MessageBox можно вывести на экран окно сообщения с заданными заголовком и текстом. Окно можно дополнить иконкой из специально предназначенного для этого стандартного набора со следующими символами:
- «!» — для сообщений, требующих повышенного внимания пользователя;
- «i» — для сообщений информационного характера;
- «?» — для сообщений, содержащих вопрос;
- знак «стоп» — для сообщений о критических ошибках.
Для обратной связи с пользователем окно снабжено одним из стандартных наборов кнопок:
- «OK»;
- «OK», «Отмена»;
- «Повторить», «Отмена»;
- «Да», «Нет»;
- «Да», «Нет», «Отмена»;
- «Прервать», «Повторить», «Пропустить».
Пример использования
Пример использования функции MessageBoxНиже приведён исходный текст программы на языке Си, которая выводит на экран сообщение «Hello, World!» в окне с заголовком «Example» и кнопкой «OK».
#include <windows.h> int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MessageBox(NULL, "Hello, World!", "Example", MB_OK | MB_ICONEXCLAMATION); return 0; }
Реализация
В современных ОС с поддержкой UNICODE эта функция существует в двух версиях: MessageBoxA и MessageBoxW (с параметрами в кодировке MessageBox является макросом, обозначающим одну из этих функций.
Существует также расширенная версия этой функции — MessageBoxEx, имеющая дополнительный аргумент — идентификатор языка, на котором отображаются надписи на кнопках. Причём в [2]
int STDCALL MessageBoxW( HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType) { return MessageBoxExW(hWnd, lpText, lpCaption, uType, LANG_NEUTRAL); }
Всё семейство функций MessageBox в MessageBoxTimeoutIndirectW, которая создаёт диалоговое окно с требуемыми свойствами и отображает его на экране.[2]
Источники
Wikimedia Foundation. 2010.