uiconfirm

Создайте поле диалогового окна подтверждения

Синтаксис

uiconfirm(f,message,title)
uiconfirm(f,message,title,Name,Value)
selection = uiconfirm(___)

Описание

uiconfirm(f,message,title) отображается модальное диалоговое окно подтверждения в приложении окружают плановый показатель f. Плановый показатель должен быть создан с функцией uifigure. Этот синтаксис отображает две опции для пользователя, чтобы выбрать, OK и Cancel. Фигура позади диалогового окна не доступна, в то время как диалоговое окно отображается, но командная строка MATLAB® доступна.

пример

uiconfirm(f,message,title,Name,Value) отображает поле диалогового окна подтверждения с одним или несколькими аргументами пары Name,Value, которые настраивают внешний вид и поведение диалогового окна. Например, можно задать пользовательский набор опций в диалоговом окне вместо значения по умолчанию, OK и Cancel.

пример

selection = uiconfirm(___) возвращает выбор пользователя как вектор символов. Задайте выходной аргумент selection с любым из предыдущих синтаксисов. Когда вы используете этот синтаксис, подсказка команды MATLAB не доступна, в то время как диалоговое окно отображается.

Примеры

свернуть все

Создайте диалоговое окно, которое отображает значок предупреждения вместо значка вопроса по умолчанию.

f = uifigure;
selection = uiconfirm(f,'Close document?','Confirm Close',...
                        'Icon','warning');

Когда пользователь выбирает опцию, uiconfirm возвращает тот выбор как вектор символов.

Создайте диалоговое окно подтверждения, содержащее три опции: Overwrite, Save as new и Cancel. Задайте Save as new как опцию по умолчанию и задайте Cancel как опцию, которая сопоставляет с поведением отмены.

f = uifigure;
msg = 'Saving these changes will overwrite previous changes.';
title = 'Confirm Save';
selection = uiconfirm(f,msg,title,...
           'Options',{'Overwrite','Save as new','Cancel'},...
           'DefaultOption',2,'CancelOption',3);

Когда пользователь выбирает опцию, uiconfirm возвращает их выбор как вектор символов.

Аргумент пары "имя-значение" CloseFcn полезен для выполнения определенных задач, когда диалоговое окно закрывается.

В редакторе MATLAB создайте новую функцию под названием mycallback.m, который содержит следующий код. Эта функция обратного вызова отображает поле SelectedOption в struct по имени event. MATLAB автоматически передает этот struct в качестве второго аргумента к функции обратного вызова.

function mycallback(src,event)
   display(event.SelectedOption);
end

В Окне Команды MATLAB выполните следующий код, чтобы создать поле диалогового окна подтверждения, которое задает mycallback как значение для CloseFcn.

f = uifigure;
uiconfirm(f,'Close document?','Confirm Close',...
            'CloseFcn',@mycallback);

Когда пользователь выбирает опцию, значение отображений SelectedOption в Командном окне.

Чтобы создать диалоговое окно подтверждения окружают App Designer, который имеет коллбэк CloseFcn, запишите коллбэк как закрытую функцию в App Designer.

Запустите путем выбора Code View. Затем создайте закрытую функцию путем выбора Function> Private Function.

Затем, запишите закрытую функцию так, чтобы она совпадала с этим кодом:

function mycallback(app,src,event)
   display(event.SelectedOption);
end

Добавьте эту команду в функцию обратного вызова, что вы хотите отобразить диалоговое окно. В этом случае плановым показателем является app.UIFigure, который является именем по умолчанию для фигуры в App Designer.

uiconfirm(app.UIFigure,'Close document?','Confirm Close',...
            'CloseFcn',@(src,event)mycallback(app,src,event));

Сохраните и запустите свое приложение. Когда пользователь инициировал коллбэк, который создает диалоговое окно, отображения диалогового окна в приложении.

Входные параметры

свернуть все

Плановый показатель, заданный как объект Figure. Фигура должна быть создана с функцией uifigure.

Обменивайтесь сообщениями, чтобы отобразиться, заданный как вектор символов, массив ячеек из символьных векторов или массив строк. Задайте массив ячеек или массив строк, когда ваше сообщение будет иметь несколько строк текста. Каждый элемент в массиве соответствует различной строке текста.

Заголовок диалогового окна, заданный как вектор символов или скаляр строки.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: selection = uiconfirm(f,message,title,'Options',{'Save','Delete','Quit'}) задает три пользовательских опции для диалогового окна.

Пользовательские опции, заданные как массив ячеек из символьных векторов или массив строк.

Значок, заданный как предопределенный значок или пользовательский значок.

Предопределенный значок

Эта таблица приводит значения для предопределенных значков. Например, чтобы показать значок галочки, задайте пару "имя-значение" 'Icon','success'.

ЗначениеЗначок
'question' (значение по умолчанию)

'info'

'success'

'warning'

'error'

''Никакие отображения значка.

Пользовательский значок

Задайте пользовательский значок как одно из этих значений:

  • Вектор символов, который задает имя файла SVG, JPEG, GIF или изображения PNG, которое находится на пути MATLAB. Также можно задать полный путь к файлу изображения.

  • Матрица изображений истинного цвета. Смотрите Типы изображения для получения дополнительной информации.

Опция по умолчанию, заданная как вектор символов, представляет в виде строки скаляр или целое число. Опция по умолчанию соответствует кнопке в диалоговом окне, которое фокусируется по умолчанию.

Когда вы задаете вектор символов или представляете скаляр в виде строки, это должно совпадать с элементом в массиве Options. Однако, если вы вызываете uiconfirm без аргумента Options, затем DefaultOption должен быть 'OK' или 'Cancel'.

Когда вы задаете целое число, это должно быть в области значений [1, n], где n является длиной массива Options. Если вы вызываете uiconfirm без аргумента Options, то DefaultOption должен быть 1 или 2.

Отмените опцию, заданную как вектор символов, представьте в виде строки скаляр или целое число. Опция отмены задает который карты опции отменить действия в диалоговом окне.

Когда вы задаете вектор символов или представляете скаляр в виде строки, это должно совпадать с элементом в массиве Options. Однако, если вы вызываете uiconfirm без аргумента Options, затем CancelOption должен быть 'OK' или 'Cancel'.

Когда вы задаете целое число, это должно быть в области значений [1, n], где n является длиной массива Options. Если вы вызываете uiconfirm без аргумента Options, то CancelOption должен быть 1 или 2.

Закройте функцию обратного вызова, заданную как одно из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Этот коллбэк полезен для выполнения определенных задач, когда диалоговое окно закрывается.

Когда вы задаете CloseFcn как указатель на функцию (или массив ячеек, содержащий указатель на функцию), MATLAB передает struct, содержащий данные о событиях как входной параметр к функции обратного вызова. Этот struct содержит поля, описанные в следующей таблице.

Поле структурыЗначение
SourceОбъект Figure сопоставлен с диалоговым окном.
EventName'ConfirmDialogClosed'
DialogTitleЗаголовок диалогового окна.
SelectedOptionIndexИндекс выбранной опции. Для опций n индекс может быть любым целым числом от 1 до n.
SelectedOptionНазвание кнопки для выбранной опции, возвращенной как вектор символов.

Смотрите также

| | |

Введенный в R2017b