Управление приложения изменяемого размера в App Designer

Приложения, создаваемые в App Designer изменяемого размера по умолчанию. Компоненты меняют местоположение и изменяют размер автоматически, когда пользователь изменяет размер окна во время выполнения. Этим поведением при автоматическом изменении размера управляет свойство AutoResizeChildren. По умолчанию это свойство включено для фигуры и всех дочерних контейнеров, таких как панели и вкладки.

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

Можно отключить поведение при автоматическом изменении размера путем отключения свойства. Чтобы отключить свойство в App Designer, выберите контейнер и снимите флажок AutoResizeChildren в панели Свойств компонентов.

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

Можно также установить свойство программно путем устанавливания значения к 'on' или 'off'. Когда вы устанавливаете свойство программно, значение не изменяется для дочерних контейнеров.

app.UIFigure.AutoResizeChildren = 'off';

Если поведение при автоматическом изменении размера не является поведением, что вы хотите, отключаете свойство AutoResizeChildren и пишете обратный вызов SizeChangedFcn для контейнера. В этом обратном вызове вы пишете код, чтобы настроить свойство Position дочерних компонентов. Обратный вызов выполняется, когда размер контейнера изменяется.

Например, SizeChangedFcn может содержать код, который сохраняет ширину поля редактирования в одной четверти ширины фигуры.

figwidth = app.UIFigure.Position(3);
app.EditField.Position(3) = .25 * figwidth;

Примечание

Начиная в R2017a, необходимо отключить свойство AutoResizeChildren позволить обратному вызову SizeChangedFcn выполняться. Для получения дополнительной информации см. App Designer: Отключение поведения при автоматическом изменении размера при записи обратных вызовов SizeChangedFcn.

Чтобы полностью отключить изменение размеров, установите свойство Resize фигуры к 'off'.

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

Похожие темы

Была ли эта тема полезной?