Создайте компонент текстовой области
txa = uitextarea
txa = uitextarea(parent)
txa = uitextarea(___,Name,Value)
создает текстовую область в новом окне рисунка и возвращает объект 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
, Panel
, ButtonGroup
или GridLayout
. Если никакой контейнер не задан, MATLAB вызывает функцию uifigure
, чтобы создать новый объект Figure
, который служит родительским контейнером.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'Editable','off'
указывает, что пользователь приложения не может изменить текст текстовой области.Свойства, перечисленные здесь, являются подмножеством доступных свойств. Для полного списка см..TextArea Свойства.
Значение
Значение{''}
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторов | массив строк | 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'
— Местоположение и размер текстовой области[100 100 150 60]
(значение по умолчанию) | [left bottom width height]
Местоположение и размер текстовой области относительно родительского элемента, заданного как векторный [left bottom width height]
. В этой таблице описываются каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера к внешнему левому краю текстовой области |
bottom | Расстояние от внутреннего базового края родительского контейнера к внешнему базовому краю текстовой области |
width | Расстояние между правыми и левыми внешними краями текстовой области |
height | Расстояние между верхними и нижними внешними краями текстовой области |
Все измерения указаны в пикселях.
Значения Position соответствуют выделенной области родительского контейнера.
Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую художественными оформлениями, такими как панель меню или заголовок.
Пример: [100 100 100 90]
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.