Создать пустое модальное диалоговое окно
указывает один или несколько 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'.Перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойства рисунка.
'Position' - Расположение и размер извлекаемой площади[left bottom width height]Местоположение и размер извлекаемой области, указанной как вектор формы [left bottom width height]. Эта область исключает границы фигуры, строку заголовка, строку меню и панели инструментов.
Эта таблица описывает каждый элемент в Position вектор.
| Элемент | Описание |
|---|---|
left | Расстояние от левого края основного экрана до внутреннего левого края окна. Это значение может быть отрицательным в системах с несколькими мониторами. Если рисунок закреплен, то это значение относится к панели «Рисунок» рабочего стола MATLAB. |
bottom | Расстояние от нижнего края основного экрана до внутреннего нижнего края окна. Это значение может быть отрицательным в системах с несколькими мониторами. Если рисунок закреплен, то это значение относится к панели «Рисунок» рабочего стола MATLAB. |
width | Расстояние между правым и левым внутренними краями диалогового окна. |
height | Расстояние между верхним и нижним внутренними краями окна. |
Все измерения в единицах, указанных Units собственность.
Невозможно указать фигуру Position свойство при закреплении фигуры.
В MATLAB Online™, bottom и left элементы Position векторы игнорируются.
Для размещения полного окна, включая границы, строку заголовка, строку меню, панели инструментов, используйте OuterPosition собственность.
Примечание
Операционная система Windows ® обеспечивает минимальную ширину окна и максимальный размер окна. Если указать размер фигуры за пределами этих пределов, отображаемая фигура будет соответствовать пределам вместо указанного размера.
'ButtonDownFcn' - Обратный вызов после нажатия кнопки'' (по умолчанию) | дескриптор функции | массив ячеек | символьный векторОбратный вызов Button down, указанный как одно из следующих значений:
Дескриптор функции.
Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуется). MATLAB вычисляет это выражение в базовой рабочей области.
Этот обратный вызов выполняется всякий раз, когда пользователь щелкает пустую область рисунка.
Дополнительные сведения об указании значения свойства обратного вызова в качестве дескриптора функции, массива ячеек или символьного вектора см. в разделе Как задать значения свойства обратного вызова.
Используйте SelectionType для определения того, нажал ли пользователь клавиши-модификаторы.
'WindowStyle' - Стиль окна'normal'
(по умолчанию) | 'modal' | 'docked'Стиль окна, указанный как один из следующих:
'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', меню отображаются.
d - Диалоговое окноFigure объектДиалоговое окно, возвращенное как 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' |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.