uiconfirm

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

Описание

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

пример

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

пример

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

Примеры

свернуть все

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

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

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

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

fig = uifigure;
msg = 'Saving these changes will overwrite previous changes.';
title = 'Confirm Save';
selection = uiconfirm(fig,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.

fig = uifigure;
uiconfirm(fig,'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 имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: selection = uiconfirm(fig,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 содержит поля, описанные в следующей таблице.

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

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

| | |

Введенный в R2017b