Создайте компонент текстовой области
создает текстовую область в новом окне рисунка и возвращает 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
Панель
Группа кнопок
, или GridLayout
. Если вы не задаете родительский контейнер, MATLAB вызывает uifigure
функция, чтобы создать новый Figure
объект, который служит родительским контейнером.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Editable','off'
указывает, что пользователь приложения не может изменить текст текстовой области.Свойства, перечисленные здесь, являются подмножеством доступных свойств. Для полного списка смотрите TextArea Properties.
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.
ValueChangingFcn
— Коллбэк изменения значения''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКоллбэк изменения значения в виде одного из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк выполняется можно следующим образом:
Когда пользователь вводит в текстовой области, коллбэк неоднократно выполняется.
Когда пользователь нажимает Tab или щелкает вне текстовой области, коллбэк выполняется.
Если значение текстовой области изменяется программно, то коллбэк не выполняется.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с текстовой областью. MATLAB передает эту информацию в ValueChangingData
возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событием
Вы можете запросить свойства объекта с помощью записи через точку. Например, event.Value
значение в текстовой области, которая инициировала выполнение коллбэка. ValueChangingData
объект не доступен для функций обратного вызова, заданных как векторы символов.
Вот свойства ValueChangingData
объект:
Свойство | Описание |
---|---|
Value | Значение, которое инициировало выполнение коллбэка |
Source | Компонент, который выполняет обратный вызов |
EventName | 'ValueChanging' |
Value
свойство TextArea
объект не обновляется, пока пользователь или не нажимает Tab или щелкает вне текстовой области. Однако можно получить текст, в то время как пользователь все еще вводит путем запроса Value
свойство ValueChangingData
объект.
Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.