Создайте пустое модальное диалоговое окно
d = dialog
d = dialog(Name,Value)
задает одно или несколько имен свойства 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.
'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'
Кнопка вниз коллбэк''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКнопка вниз коллбэк, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк выполняется каждый раз, когда пользователь кликает по пустой области фигуры.
Используйте свойство SelectionType
определить, нажал ли пользователь модифицирующие клавиши.
WindowStyle
WindowStyle 'normal'
(значение по умолчанию) | 'modal'
| 'docked'
Стиль окна, заданный как одно из следующего:
'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'
, отображению меню.
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.