MessageBox С: создание и управление окнами сообщений
MessageBox в C является функцией стандартной библиотеки и предоставляет возможность выводить диалоговые окна с сообщениями для пользователя. Это особенно полезно, когда необходимо передать информацию о статусе программы, предупредить о возникновении ошибок или получить подтверждение от пользователя.
Прежде чем рассмотреть примеры кода, давайте рассмотрим синтаксис функции MessageBox:
int MessageBox(
HWND hWnd,
LPCTSTR lpText,
LPCTSTR lpCaption,
UINT uType
);
hWnd
: Указатель на родительское окно, на которое следует вывести диалоговое окно. ЕслиhWnd
равно NULL, то диалоговое окно появляется на экране без привязки к конкретному окну приложения.lpText
: Строка с текстом сообщения, которое будет отображаться в диалоговом окне.lpCaption
: Заголовок диалогового окна.uType
: Флаги, определяющие внешний вид и поведение диалогового окна.
Типы флагов и их значение:
MB_OK
: Окно с кнопкой "ОК".MB_OKCANCEL
: Окно с кнопками "ОК" и "Отмена".MB_YESNO
: Окно с кнопками "Да" и "Нет".MB_ICONERROR
: Иконка ошибки в окне.MB_ICONWARNING
: Иконка предупреждения в окне.MB_ICONINFORMATION
: Иконка информации в окне.
Теперь рассмотрим примеры кода, иллюстрирующие использование функции MessageBox:
Пример 1:
#include <windows.h>
int main()
{
MessageBox(NULL, "Привет, мир!", "Пример 1", MB_OK);
return 0;
}
В этом примере мы передаем NULL в качестве родительского окна, строку "Привет, мир!" в качестве сообщения, строку "Пример 1" в качестве заголовка и флаг MB_OK для отображения кнопки "ОК". В результате появится диалоговое окно с сообщением "Привет, мир!" и заголовком "Пример 1", а также кнопкой "ОК".
Пример 2:
#include <windows.h>
int main()
{
int result = MessageBox(NULL, "Вы уверены?", "Пример 2", MB_YESNO | MB_ICONWARNING);
if (result == IDYES)
{
MessageBox(NULL, "Вы выбрали Да", "Пример 2", MB_OK | MB_ICONINFORMATION);
}
else if (result == IDNO)
{
MessageBox(NULL, "Вы выбрали Нет", "Пример 2", MB_OK | MB_ICONINFORMATION);
}
return 0;
}
В этом примере мы используем флаг MB_YESNO для предоставления выбора пользователю между "Да" и "Нет". Если пользователь выбирает "Да", отображается сообщение "Вы выбрали Да", а если пользователь выбирает "Нет", отображается сообщение "Вы выбрали Нет".
Таким образом, функция MessageBox представляет простой способ вывода диалоговых окон с сообщениями пользователю в приложении на языке программирования C.