function TaskDialogMsgBox(const Instruction, Text: String; const Typ: TMsgBoxType; const Buttons: Cardinal; const ButtonLabels: TArrayOfString; const ShieldButton: Integer): Integer;
Выводит на экран сообщение, используя диалоговое окно задач.
Параметры:
Instruction | Определяет текст инструкции. |
Text | Определяет текст сообщения. |
Typ | Определяет значок, отображаемый в диалоге
задач. Если установлено значение mbConfirmation , то значок
показан не будет. |
Buttons | Определяет кнопки, включённые в диалог задач. |
ButtonLabels | Определяет строковый массив с метками
используемых кнопок. Если массив пустой, то по умолчанию будут использоваться системные метки кнопок. Если метка состоит из двух строк, разделённых новой строкой, то первая строка определяет название кнопки, а вторая - текст примечания. |
ShieldButton | Определяет кнопку, на которой будет показан
значок щита. Если установлено значение 0, то значок щита показан не будет. |
Функция возвращает константу ID*, указывающую кнопку, которую нажал пользователь, или 0, если в работе функции произошёл сбой (что маловероятно, за исключением неверно переданных параметров или нехватки системных ресурсов).
Класс TMsgBoxType
представлен следующими значениями:
TMsgBoxType = (mbInformation, mbConfirmation, mbError, mbCriticalError);
Флаги, поддерживаемые параметром Buttons:
MB_OK - одна кнопка [OK] MB_OKCANCEL - две кнопки [OK] и [Cancel] MB_ABORTRETRYIGNORE - три кнопки [Abort], [Retry] и [Ignore] MB_YESNOCANCEL - три кнопки [Yes], [No] и [Cancel] MB_YESNO - две кнопки [Yes] и [No] MB_RETRYCANCEL - две кнопки [Retry] и [Cancel]
Если используется флаг MB_ABORTRETRYIGNORE
, то параметр ButtonLabels
не может быть пустым массивом и метки кнопок должны быть указаны в
следующем порядке: Retry, Ignore, Abort.
Поддерживаемые значения для параметра ShieldButton, а также возможные возвращаемые значения функции:
IDOK - нажата кнопка [OK] IDCANCEL - нажата кнопка [Cancel] IDABORT - нажата кнопка [Abort] IDRETRY - нажата кнопка [Retry] IDIGNORE - нажата кнопка [Ignore] IDYES - нажата кнопка [Yes] IDNO - нажата кнопка [No]
begin case TaskDialogMsgBox('Выбор A или B', 'Вы можете выбрать A или B.', mbInformation, MB_YESNOCANCEL, ['Я выбираю &A'#13#10'Будет выбрано A.', 'Я выбираю &B'#13#10'Будет выбрано B.'], IDYES) of IDYES: MsgBox('Ваш выбор A.', mbInformation, MB_OK); IDNO: MsgBox('Ваш выбор B.', mbInformation, MB_OK); end; end;