exponenta event banner

диалог

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

Описание

d = dialog создает пустое диалоговое окно и возвращает d, a 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;
          choice = char(popup_items(idx,:));
       end
end

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

color = choosedialog

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

color =

Blue

Примечание

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

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

свернуть все

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

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

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

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

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

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

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

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

Все измерения в единицах, указанных Units собственность.

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

В MATLAB Online™, bottom и left элементы Position векторы игнорируются.

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

Примечание

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

Обратный вызов Button down, указанный как одно из следующих значений:

  • Дескриптор функции.

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

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

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

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

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

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

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

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

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

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

Примечание

Это некоторые важные характеристики WindowStyle собственность и некоторые рекомендуемые передовые методы:

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

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

  • Запрос reset на рисунке не изменяет значение WindowStyle собственность.

Поведение стиля модального окна

Когда WindowStyle имеет значение 'modal', окно рисунка перехватывает все действия клавиатуры и мыши над всеми окнами MATLAB, пока окна видны. Не затрагиваются окна, принадлежащие приложениям, отличным от 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