dialog

Создайте пустое модальное диалоговое окно

Описание

d = dialog создает пустое диалоговое окно и возвращает d, Figure объект. Используйте uicontrol функция, чтобы добавить средства управления пользовательским интерфейсом в диалоговое окно.

пример

d = dialog(Name,Value) задает один или несколько Figure имена свойства и соответствующие значения. Используйте этот синтаксис, чтобы заменить свойства по умолчанию.

Примеры

свернуть все

Используйте uicontrol функция, чтобы добавить средства управления пользовательским интерфейсом в диалоговое окно. Например, создайте программный файл под названием mydialog.m это отображает диалоговое окно, содержащее текст и кнопку.

function mydialog
    d = dialog('Position',[300 300 250 150],'Name','My Dialog');

    txt = uicontrol('Parent',d,...
               'Style','text',...
               'Position',[20 80 210 40],...
               'String','Click the close button when you''re done.');

    btn = uicontrol('Parent',d,...
               'Position',[85 20 70 25],...
               'String','Close',...
               'Callback','delete(gcf)');
end

Затем запустите mydialog функция из Командного окна.

mydialog

Используйте uiwait функция, чтобы возвратить выходной параметр на основе пользовательских выборов в диалоговом окне. Например, создайте программный файл под названием choosedialog.m выполнять эти задачи:

  • Вызовите dialog функция, чтобы создать диалоговое окно с определенным размером, местоположением и заголовком, “Выбор Один”.

  • Вызовите uicontrol функционируйте три раза, чтобы добавить текст, всплывающее меню и кнопку, соответственно.

  • Задайте функцию, popup_callback, служить функцией обратного вызова для кнопки.

  • Вызовите uiwait функционируйте, чтобы ожидать пользователя, чтобы закрыть диалоговое окно прежде, чем возвратить выходной параметр к командной строке.

function choice = choosedialog

    d = dialog('Position',[300 300 250 150],'Name','Select One');
    txt = uicontrol('Parent',d,...
           'Style','text',...
           'Position',[20 80 210 40],...
           'String','Select a color');
       
    popup = uicontrol('Parent',d,...
           'Style','popup',...
           'Position',[75 70 100 25],...
           'String',{'Red';'Green';'Blue'},...
           'Callback',@popup_callback);
       
    btn = uicontrol('Parent',d,...
           'Position',[89 20 70 25],...
           'String','Close',...
           'Callback','delete(gcf)');
       
    choice = 'Red';
       
    % Wait for d to close before running to completion
    uiwait(d);
   
       function popup_callback(popup,event)
          idx = popup.Value;
          popup_items = popup.String;
          % This code uses dot notation to get properties.
          % Dot notation runs in R2014b and later.
          % For R2014a and earlier:
          % idx = get(popup,'Value');
          % popup_items = get(popup,'String');
          choice = char(popup_items(idx,:));
       end
end

Запустите choosedialog функция из Командного окна. Затем выберите цвет в диалоговом окне.

color = choosedialog

choosedialog возвращает последний выбранный цвет, когда вы закрываете диалоговое окно.

color =

Blue

Примечание

uiwait функциональные блоки поток MATLAB®. Несмотря на то, что uiwait работает хорошо в простом модальном диалоговом окне, оно не рекомендуется для использования в более сложных приложениях.

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

свернуть все

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

Пример: 'WindowStyle','normal' устанавливает WindowStyle свойство к 'normal'.

Перечисленные здесь свойства являются только подмножеством. Для полного списка смотрите Figure Properties.

Местоположение и размер области векторной и растровой графики, заданной как вектор формы [left bottom width height]. Эта область исключает границы фигуры, строку заголовка, панель меню и панели инструментов.

Эта таблица описывает каждый элемент в Position вектор.

ЭлементОписание
leftРасстояние от левого края главного дисплея к внутреннему левому краю окна. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор.

Если фигура прикрепляется, то это значение относительно панели фигуры в рабочем столе MATLAB.
bottomРасстояние от базового края главного дисплея к внутреннему базовому краю окна. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор.

Если фигура прикрепляется, то это значение относительно панели фигуры в рабочем столе MATLAB.
widthРасстояние между правыми и левыми внутренними краями диалогового окна.
heightРасстояние между верхними и нижними внутренними краями окна.

Все измерения находятся в модулях, заданных Units свойство.

Вы не можете задать фигуру Position свойство, когда фигура прикрепляется.

В MATLAB Online™, bottom и left элементы Position вектор проигнорирован.

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

Примечание

Операционная система Windows® осуществляет минимальную ширину окна и максимальный размер окна. Если вы зададите размер фигуры за пределами тех пределов, отображенная фигура будет соответствовать пределам вместо размера, который вы задали.

Кнопка вниз коллбэк, заданный как одно из этих значений:

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

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

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

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

Для получения дополнительной информации об указании значения свойства обратного вызова, например, указателя на функцию, массива ячеек или символьного вектора, см. Раздел "Как задать значения свойств обратного вызова".

Используйте SelectionType свойство определить, нажал ли пользователь модифицирующие клавиши.

Стиль окна, заданный как одно из следующего:

  • 'normal' — Окно рисунка независимо от других окон, и другие окна доступны, в то время как фигура отображается.

  • 'modal' — Фигура отображается сверху всех существующих окон рисунка, делая их недоступными, пока главная фигура существует и остается модальной. Однако любые последние данные, созданные после модальной фигуры, отобразятся.

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

  • 'docked' — Фигура отображается в рабочем столе или окне документа. Когда WindowStyle свойство установлено в 'docked', вы не можете установить DockControls свойство к 'off'. 'docked' опция не поддержана в MATLAB Online.

Примечание

Это некоторые важные характеристики WindowStyle свойство и некоторые рекомендуемые лучшые практики:

  • Когда вы создаете окна UI, всегда задаете WindowStyle свойство. Если вы также хотите установить Resize, Position, или OuterPosition свойства фигуры, затем устанавливает WindowStyle свойство сначала.

  • Можно изменить WindowStyle свойство фигуры в любое время, включая то, когда фигура отображается и содержит дочерние элементы. Однако в некоторых системах, устанавливая это свойство может заставить фигуру высвечиваться или исчезать и вновь появляться, в зависимости от реализации системы нормальных и модальных окон. Для лучших визуальных результатов, набор WindowStyle свойство во время создания или когда фигура невидима.

  • Вызов reset на фигуре не изменяет значение WindowStyle свойство.

Модальное поведение стиля окна

Когда WindowStyle установлен в 'modal', окно рисунка захватывает всю клавиатуру и действия мыши по всем окнам MATLAB, пока окна отображаются. Windows, принадлежащий приложениям кроме MATLAB, незатронут.

Ввод Ctrl+C, когда модальная фигура фокусируется причины, которые фигурируют, чтобы вернуться к 'normal' WindowStyle установка свойства. Это позволяет пользователю вводить в командной строке.

Фигуры с WindowStyle набор свойств к 'modal' и Visible набор свойств к 'off' не ведите себя модально, пока MATLAB не делает их видимыми. Поэтому можно скрыть модальное окно для более позднего повторного использования, вместо того, чтобы уничтожить его.

Модальные фигуры не делают дочерних элементов меню отображения, встроенных меню или панелей инструментов. Но, это не ошибка создать меню в модальной фигуре или изменить WindowStyle установка свойства на 'modal' на фигуре с дочерними элементами меню. Menu объекты существуют, и фигура сохраняет их. Если вы сбрасываете WindowStyle фигуры свойство к 'normal', отображение меню.

Выходные аргументы

свернуть все

Диалоговое окно, возвращенное как Figure объект с этими значениями свойств установлен.

СвойствоЗначение
ButtonDownFcn'if isempty(allchild(gcbf)), close(gcbf), end'
Colormap[]
DockControls'off'
HandleVisibility'callback'
IntegerHandle'off'
InvertHardcopy'off'
MenuBar'none'
Number[]
NumberTitle'off'
PaperPositionMode'auto'
Resize'off'
WindowStyle'modal'

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

Функции

Свойства

Представлено до R2006a