Создайте пустое диалоговое окно modal
задает одно или несколько 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
функция для создания диалогового окна с заданным размером, местоположением и заголовком «Select One».
Вызовите 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 | Расстояние от левого края первичного отображения до внутреннего левого края окна. Это значение может быть отрицательным для систем, которые имеют более одного монитора. Если рисунок закреплен, это значение соответствует панели Figure на рабочем столе MATLAB. |
bottom | Расстояние от нижнего ребра первичного отображения до внутреннего нижнего ребра окна. Это значение может быть отрицательным для систем, которые имеют более одного монитора. Если рисунок закреплен, это значение соответствует панели Figure на рабочем столе MATLAB. |
width | Расстояние между правым и левым внутренними краями диалогового окна. |
height | Расстояние между верхним и нижним внутренними краями окна. |
Все измерения указаны в модулях, заданных Units
свойство.
Вы не можете задать рисунок Position
свойство, когда рисунок закреплён.
В MATLAB Online™ bottom
и left
элементы Position
вектор игнорируется.
Чтобы разместить полное окно, включая границы, строку заголовка, панель меню, панели инструментов, используйте OuterPosition
свойство.
Примечание
Windows® операционная система обеспечивает минимальную ширину окна и максимальный размер окна. Если вы задаете размер фигуры за пределами этих пределов, отображаемый рисунок будет соответствовать пределам вместо заданного размера.
'ButtonDownFcn'
- Кнопка обратного коллбэка вниз''
(по умолчанию) | указатель на функцию | массив ячеек | вектор символовКоллбэк вниз по кнопке, заданный как одно из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк выполняется каждый раз, когда пользователь кликает пустую область рисунка.
Для получения дополнительной информации об указании значения свойства коллбэка как указателя на функцию, массива ячеек или вектора символов, см. Раздел «Как задать значения свойств коллбэка».
Используйте SelectionType
свойство для определения, нажал ли пользователь клавиши модификатора.
'WindowStyle'
- Стиль окна'normal'
(по умолчанию) | 'modal'
| 'docked'
Стиль окна, заданный как один из следующих:
'normal'
- Окно рисунка не зависит от других окон, а другие окна доступны во время отображения рисунка.
'modal'
- рисунок отображается поверх всех существующих окон рисунка, что делает их недоступными, пока верхняя фигура существует и остается модальной. Однако отобразятся все новые рисунки, созданные после модального рисунка.
Когда существует несколько модальных окон, последнее созданное окно сохраняет особое внимание и остается над всеми остальными окнами, пока не становится невидимым, или возвращается к обычному стилю окна, или удаляется. В то время особое внимание возвращается к окну, которое последнее имело особое внимание.
'docked'
- рисунок отображается на рабочем столе или в окне документа. Когда WindowStyle
для свойства задано значение 'docked'
, вы не можете задать DockControls
свойство к 'off'
. The 'docked'
опция не поддерживается в MATLAB Online.
Примечание
Это некоторые важные характеристики WindowStyle
свойство и некоторые рекомендуемые лучшие практики:
Когда вы создаете окна пользовательского интерфейса, всегда задайте 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'
на рисунке с дочерними элементами меню. The 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.