MessageRequester()
Синтаксис
Result = MessageRequester(Title$ , Text$ [, Flags])
Описание
Открывает блокирующий запрос для отображения какой-либо информации. Выполнение программы полностью приостанавливается пока пользователь не закроет запрос.
Параметры
Title$ Заголовок окна запроса. Text$ Текст, выводимый на экран в сообщении запроса. Flags (дополн.) Это может быть одно из следующих значений (в скобках значения констант, которые тоже можно использовать): #PB_MessageRequester_Ok : (0) : только кнопка "OK". (По умолчанию). #PB_MessageRequester_YesNo : (4) : кнопки "Да" и "Нет" #PB_MessageRequester_YesNoCancel : (3) : кнопки "Да", "Нет" и "Отмена"
В сочетании (с помощью оператора '|') с одним из следующих значений:#PB_MessageRequester_Info : отображает значок информации. #PB_MessageRequester_Warning: отображает значок предупреждения. #PB_MessageRequester_Error : отображает значок ошибки.
В Windows вместо указанных констант можно использовать одну из следующих констант WinApi:
#MB_OK : (0) : кнопка "ОК" (есть поддержка ESC). #MB_OKCANCEL : (1) : кнопки "ОК и Отмена" (поддержка ESC). #MB_ABORTRETRYIGNORE : (2) : кнопки "Прервать","Повтор","Пропустить" (нет поддержки ESC). #MB_YESNOCANCEL : (3) : кнопки "Да", "Нет" и "Отмена" (поддержка ESC). #MB_YESNO : (4) : кнопки "Да" и "Нет" (нет поддержки ESC). #MB_RETRYCANCEL : (5) : кнопки "Повтор" и "Отмена" (поддержка ESC). : (6) : кнопки "Отмена","Повторить","Продолжить" (поддержка ESC).
Которые можно комбинировать (с помощью оператора '|') с одной из следующих констант WinApi, служащих для вывода пиктограмм в окно запроса:
#MB_ICONERROR : (16) : красный круг с белым крестом. #MB_ICONQUESTION : (32) : знак вопроса. #MB_ICONWARNING : (48) : жёлтый треугольник с восклицательным знаком. #MB_ICONINFORMATION : (64) : пиктограмма символа i нижнего регистра в круге информации. : (72) : запрос будет пропущен с возвращаемым значением 0. : (96) : запрос будет сопровождён стандартным звуком.
Так же в комбинацию флагов можно добавить одну из констант WinApi (с помощью оператора '|'), позволяющих выбрать активированную по умолчанию кнопку, из тех что используются в запросе:
#MB_DEFBUTTON1 : (0) : первая слева кнопка запроса (по умолчанию). #MB_DEFBUTTON2 : (256) : вторая слева кнопка запроса. #MB_DEFBUTTON3 : (512) : третья слева кнопка запроса. : (768) : четвёртая слева кнопка запроса (там где она есть).
В Linux так же есть некоторые дополнительные константы, смотрите описание Linux.
Возвращаемое значение
Это может быть одна из следующих констант:#PB_MessageRequester_Yes : (6) : Была нажата кнопка "OK". #PB_MessageRequester_No : (7) : Была нажата кнопка "Нет". #PB_MessageRequester_Cancel : (2) : Была нажата кнопка "Отмена"
В Windows также возможны возвращаемые значения: #IDOK : (1) : Была нажата кнопка "OK". #IDCANCEL : (2) : Была нажата кнопка "Отмена" (Cancel). #IDABORT : (3) : Была нажата кнопка "Прервать" (Abort). #IDRETRY : (4) : Была нажата кнопка "Повтор" (Retry). #IDIGNORE : (5) : Была нажата кнопка "Пропустить" (Ignore). #IDYES : (6) : Была нажата кнопка "Да" (Yes). #IDNO : (7) : Была нажата кнопка "Нет" (No). #IDRETRY : (10) : Была нажата кнопка "Повторить" (Try Again). #IDCONTINUE : (11) : Была нажата кнопка "Продолжить" (Continue).
Пример
; Простой запрос с сообщением (обычно используется только для информирования) ; (Результат будет всегда одинаковый, так что мы его здесь не проверяем) MessageRequester("Инфо", "Просто короткий текст с информацией.", #PB_MessageRequester_Ok | #PB_MessageRequester_Info) ; Запрос с сообщением с кнопками Да / Нет (обычно используется для вопросов) ; (результат будет показан в последующем запросе с информацией) Result = MessageRequester("Title", "Пожалуйста вводите:", #PB_MessageRequester_YesNo) a$ = "Результат предыдущего запроса: " If Result = #PB_MessageRequester_Yes ; нажата кнопка Да (Result = 6) a$ + "Да" Else ; нажата кнопка Нет (Result = 7) a$ + "Нет" EndIf MessageRequester("Инфо", a$, #PB_MessageRequester_Ok)
Пример с комбинацией констант WinApi
; Запрос с сообщением и пиктограммой "Вопрос" (WinApi) ; Следующее сообщение с пиктограммой "Восклицательный знак" и активированной кнопкой "Повтор"(WinApi) ; Result = MessageRequester("Инфо", "Текст!", #MB_ABORTRETRYIGNORE | #MB_ICONQUESTION | #MB_DEFBUTTON2) a$ = "Результат предыдущего запроса: " If Result = #IDABORT ; нажата кнопка Прервать (Result = 3) a$ + "Прервать" ElseIf Result = #IDRETRY ; нажата кнопка Повтор (Result = 4) a$ + "Повтор" Else ; нажата кнопка Пропустить (Result = 5) a$ + "Пропустить" EndIf MessageRequester("Информация", a$, #PB_MessageRequester_Ok | #MB_ICONWARNING)
Пример
; запрос с сообщением с кнопками Да / Нет / Отмена (обычно используется для вопросов) ; (результат будет показан в последующем запросе с информацией) Result = MessageRequester("Title", "Пожалуйста вводите:", #PB_MessageRequester_YesNoCancel) a$ = "Результат предыдущего запроса: " If Result = #PB_MessageRequester_Yes ; нажата кнопка Да a$ + "Да" ElseIf Result = #PB_MessageRequester_No ; нажата кнопка Нет a$ + "Нет" Else ; нажата кнопка Отмена или Эскейп a$ + "Отмена" EndIf MessageRequester("Инфо", a$, #PB_MessageRequester_Ok)
Поддерживаемые OS
Все