Создайте компонент текстовой области
создает текстовую область в новом окне рисунка и возвращает 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];
Создайте текстовую область и две метки. Когда пользователь приложения вводит текст и щелкает вне текстовой области, метка благодарит пользователя приложения за вход. Если пользователь приложения удаляет текст и щелкает вне текстовой области, текст спасибо удален.
Сохраните следующий код в 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
Панель
Группа кнопок
, или GridLayout
. Если вы не задаете родительский контейнер, MATLAB вызывает uifigure
функция, чтобы создать новый Figure
объект, который служит родительским контейнером.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Editable','off'
указывает, что пользователь приложения не может изменить текст текстовой области.Свойства, перечисленные здесь, являются подмножеством доступных свойств. Для полного списка см..TextArea Свойства.
'Value'
Значение{''}
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторов | массив строк | 1D категориальный массивЗначение в виде вектора символов, массива ячеек из символьных векторов, массива строк или 1D категориального массива. 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 добавляет полосу прокрутки.
Пример: {'Джозеф Велфорд'; 'Мэри Рейли'; 'Роберта Силберличт'}
'ValueChangedFcn'
— Значение изменило коллбэк''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовЗначение изменило коллбэк в виде одного из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Коллбэк выполняется, когда пользователь изменяет текст и или нажимает Tab или щелкает вне текстовой области. Это не выполняется если Value
свойство изменяется программно.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с текстовой областью. MATLAB передает эту информацию в ValueChangedData
возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событием
Вы можете запросить свойства объекта с помощью записи через точку. Например, event.PreviousValue
возвращает предыдущее значение текстовой области. ValueChangedData
объект не доступен для функций обратного вызова, заданных как векторы символов.
В следующей таблице перечислены свойства ValueChangedData
объект.
Свойство | Значение |
---|---|
Value | Значение текстовой области после нового взаимодействия пользователя приложения с ним |
PreviousValue | Значение текстовой области перед новым взаимодействием пользователя приложения с ним |
Source | Компонент, который выполняет обратный вызов |
EventName | 'ValueChanged' |
Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.
'Position'
— Местоположение и размер текстовой области
(значение по умолчанию) | [left bottom width height]
Местоположение и размер текстовой области относительно родительского элемента в виде векторного [left bottom width height]
В этой таблице описываются каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера к внешнему левому краю текстовой области |
bottom | Расстояние от внутреннего базового края родительского контейнера к внешнему базовому краю текстовой области |
width | Расстояние между правыми и левыми внешними краями текстовой области |
height | Расстояние между верхними и нижними внешними краями текстовой области |
Все измерения указаны в пикселях.
Position
значения относительно drawable area родительского контейнера. Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую художественными оформлениями, такими как панель меню или заголовок.
Пример: [100 100 100 90]
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.