PureBasic

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

Все

<- InputRequester() - Оглавление Requester - NextSelectedFilename()->