Создайте компонент текстовой области
создает текстовую область в новом окне рисунка и возвращает txa
= uitextareaTextArea
объект. MATLAB® вызывает uifigure
функция для создания рисунка.
задает txa
= uitextarea(___,Name,Value
)TextArea
свойства с использованием одного или нескольких Name,Value
аргументы в виде пар. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах.
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];
Прокрутка до нижней части текстовой области программно.
Создайте текстовую область. Задайте для него размер и длинный текст.
fig = uifigure;
txa = uitextarea(fig);
txa.Position = [100 100 80 80];
txa.Value = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.';
Прокрутка до нижней части текстовой области.
scroll(txa,'bottom')
Создайте текстовую область и две метки. Когда пользователь приложения вводит текст и кликает за пределами текстовой области, метка благодарит пользователя приложения за вход. Если пользователь приложения удаляет текст и кликает за пределами текстовой области, текст благодарности удаляется.
Сохраните следующий код в comments.m
на пути MATLAB. Этот код создает окно рисунка, содержащее две метки и текстовую область. Когда пользователь приложения вводит текст и кликает за пределами текстовой области, ValueChangedFcn
коллбэк обновляет одну из меток, чтобы поблагодарить пользователя.
function comments % Create figure window and components fig = uifigure('Position',[500 500 430 275]); 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
. Если вы не задаете родительский контейнер, MATLAB вызывает uifigure
функция для создания нового Figure
объект, который служит родительским контейнером.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'Editable','off'
указывает, что пользователь приложения не может изменять текст текстовой области.Перечисленные здесь свойства являются подмножеством доступных свойств. Полный список см. в разделе Свойства TextArea.
'Value'
- Значение{''}
(дефолт) | вектор символов | массив ячеек векторов символов | строковые массивы | 1-D категориальный массивЗначение, заданное как вектор символов, массив ячеек из векторов символов, строковые массивы или 1-D категориальный массив. 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 переносит текст.
Если в текстовой области слишком много строк, MATLAB добавляет полосу прокрутки.
Пример: {'Joseph Welford'; «Мэри Рейли»; 'Роберта Зильберлихт'}
'ValueChangedFcn'
- Изменение значения коллбэка''
(по умолчанию) | указатель на функцию | массив ячеек | вектор символовЗначение изменило коллбэк, заданное как одно из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Коллбэк выполняется, когда пользователь изменяет текст и либо нажимает Tab либо кликает за пределами текстовой области. Оно не выполняется, если Value
свойство изменяется программно.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с текстовой областью. MATLAB передает эту информацию в ValueChangedData
объект как второй аргумент функции обратного вызова. В App Designer аргумент называется event
. Вы можете запросить свойства объекта с помощью записи через точку. Для примера, event.PreviousValue
возвращает предыдущее значение текстовой области. The ValueChangedData
объект недоступен для функций обратного вызова, заданных как векторы символов.
В следующей таблице перечислены свойства ValueChangedData
объект.
Свойство | Значение |
---|---|
Value | Значение текстовой области после последнего взаимодействия пользователя приложения с ней |
PreviousValue | Значение текстовой области перед самым последним взаимодействием пользователя приложения с ней |
Source | Компонент, который выполняет коллбэк |
EventName | 'ValueChanged' |
Для получения дополнительной информации о записи коллбэков см. Раздел «Запись коллбэков в App Designer».
'Position'
- Расположение и размер текстовой области[100 100 150 60]
(по умолчанию) | [left bottom width height]
Расположение и размер текстовой области относительно родительского элемента, заданные как вектор [left bottom width height]
. Эта таблица описывает каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера до внешнего левого края текстовой области |
bottom | Расстояние от внутреннего нижнего ребра родительского контейнера до внешнего нижнего ребра текстовой области |
width | Расстояние между правым и левым внешними краями текстовой области |
height | Расстояние между верхним и нижним внешними краями текстовой области |
Все измерения указаны в пикселях модулей.
The Position
значения относятся к drawable area родительского контейнера. Область векторной и растровой графики является областью внутри границ контейнера и не включает область, занимаемую украшениями, такими как панель меню или заголовок.
Пример: [100 100 100 90]
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.