(App Designer) Создает компонент текстовой области
Используйте только с App Designer или фигурами, созданными с функцией uifigure
. При использовании GUIDE или функции figure
, создайте текстовую область с помощью uicontrol
.
txa = uitextarea
txa = uitextarea(parent)
txa = uitextarea(___,Name,Value)
создает текстовую область в новом окне фигуры и возвращает объект txa = uitextarea
TextArea
. MATLAB® вызывает функцию uifigure
, чтобы создать фигуру.
создает текстовую область в заданном родительском контейнере. Родительский элемент может быть созданным использованием txa = uitextarea(parent)
Figure
функции uifigure
или одного из ее дочерних контейнеров.
fig = uifigure; txa = uitextarea(fig);
Создайте заполненную текстовую область.
fig = uifigure; txa = uitextarea(fig,... 'Value', {'First Name Last Name';... 'Address 1'; 'Address 2';'City, State'; 'Postal Code'});
Заметьте, что текстовая область включает полосу прокрутки так, чтобы пользователь приложения мог просмотреть индекс.
Определите текущий размер текстовой области.
size = txa.Position(3:4)
size = 150 60
Увеличьте размер текстовой области так, чтобы индекс отобразился без использования полосы прокрутки.
txa.Position(3:4) = [155 75];
Создайте текстовую область и две метки. Когда пользователь приложения вводит текст и щелкает вне текстовой области, метка благодарит пользователя приложения за входной параметр. Если пользователь приложения удаляет текст и щелкает вне текстовой области, текст спасибо удален.
Сохраните следующий код в comments.m
на вашем пути MATLAB. Этот код создает окно фигуры, содержащее две метки и текстовую область. Когда пользователь приложения вводит текст и щелкает вне текстовой области, обратный вызов ValueChangedFcn
обновляет одну из меток, чтобы благодарить пользователя.
function comments % Create figure window and components fig = uifigure('Position',[100 100 429 276]); label1 = uilabel(fig,... 'Position',[100 164 100 15],... 'Text','Enter Comments:'); label2 = uilabel(fig,... 'Position',[100 75 175 15],... 'Text',''); textarea = uitextarea(fig,... 'Position',[100 100 150 60],... 'ValueChangedFcn',@(textarea,event) textEntered(textarea, label2)); % Create ValueChangedFcn callback function textEntered(textarea,label2) val = textarea.Value; label2.Text = ''; % Check each element of text area cell array for text for k = 1:length(val) if(~isempty(val{k})) label2.Text = 'Thank you for your comments!'; break; end end end end
Запустите comments
и введите текст в поле текстовой области. Щелкните вне текстовой области, чтобы инициировать обратный вызов.
parent
— Родительский контейнерFigure
(значение по умолчанию) | объект Panel
| объект Tab
| объект ButtonGroup
| объект GridLayout
Родительский контейнер, заданный как Figure
, создал использование функции uifigure
или одного из ее дочерних контейнеров: Tab
, Panel
, ButtonGroup
или GridLayout
.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Имя
должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'Доступный для редактирования', 'off'
указывает, что пользователь приложения не может изменить текст текстовой области.Свойства, перечисленные здесь, являются подмножеством доступных свойств. Для полного списка см..TextArea Properties.
Значение
Значение{''}
(значение по умолчанию) | вектор символа | массив ячеек из символьных векторов | массив строкЗначение, заданное как вектор символа, массив ячеек из символьных векторов или массив строк. MATLAB может правильно представить форматированный текст, такой как это:
cellArrayText{1} = sprintf('%s\n%s', 'Line 1', 'Line 2') cellArrayText{2} = sprintf('%s\n%s', 'Line 3', 'Line 4') textarea = uitextarea('Value',cellArrayText);
Если текст не вписывается в ширину текстовой области, MATLAB переносит текст.
Если существует слишком много строк, чтобы отобразиться в текстовой области, MATLAB добавляет полосу прокрутки.
Пример: {'Джозеф Велфорд'; 'Мэри Рейли'; 'Роберта Силберличт'}
ValueChangedFcn
Значение изменило обратный вызов''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символаЗначение изменило обратный вызов, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символа, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Обратный вызов выполняется, когда пользователь изменяет текст и или нажимает Tab или щелкает вне текстовой области. Это не выполняется, если свойство Value
изменяется программно.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с текстовой областью. MATLAB передает эту информацию в объекте ValueChangedData
в качестве второго аргумента к вашей функции обратного вызова. In App Designer, the argument is called event.
You can query the object properties using dot notation., Например, event.PreviousValue
возвращает предыдущее значение текстовой области. Объект ValueChangedData
не доступен функциям обратного вызова, заданным как векторы символов.
В следующей таблице перечислены свойства объекта ValueChangedData
.
Свойство | Значение |
---|---|
Значение | Значение текстовой области после нового взаимодействия пользователя приложения с ним |
PreviousValue | Значение текстовой области перед новым взаимодействием пользователя приложения с ним |
Source | Компонент, который выполняет обратный вызов |
EventName | 'ValueChanged' |
Для получения дополнительной информации о записи обратных вызовов, смотрите Обратные вызовы Записи в App Designer.
'Position'
— Местоположение и размер текстовой области[100 100 150 60]
(значение по умолчанию) | [left bottom width height]
Местоположение и размер текстовой области относительно родительского элемента, заданного как векторный [left bottom width height]
. В этой таблице описываются каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера к внешнему левому краю текстовой области |
bottom | Расстояние от внутреннего базового края родительского контейнера к внешнему базовому краю текстовой области |
width | Расстояние между правыми и левыми внешними краями текстовой области |
высота | Расстояние между верхними и нижними внешними краями текстовой области |
Все измерения указаны в пикселях.
Значения Position соответствуют выделенной области родительского контейнера.
Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую художественными оформлениями, такими как панель меню или заголовок.
Пример: [100 100 100 90]
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.