exponenta event banner

uitextarea

Создание компонента текстовой области

Описание

txa = uitextarea создает текстовую область в новом окне фигуры и возвращает TextArea объект. MATLAB ® вызывает uifigure для создания фигуры.

пример

txa = uitextarea(parent) создает текстовую область в указанном родительском контейнере. Родителем может быть Figure создан с помощью 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и введите текст в поле текстовой области. Щелкните за пределами текстовой области, чтобы вызвать обратный вызов.

Входные аргументы

свернуть все

Родительский контейнер, указанный как Figure объект, созданный с помощью uifigure функцию или один из ее дочерних контейнеров: Tab, Panel, ButtonGroup, или GridLayout. Если родительский контейнер не указан, MATLAB вызывает uifigure для создания новой функции Figure объект, который служит родительским контейнером.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'Editable','off' указывает, что пользователь приложения не может изменить текст текстовой области.

Перечисленные здесь свойства являются подмножеством доступных свойств. Полный список см. в разделе Свойства TextArea.

Значение, указанное как символьный вектор, массив ячеек символьных векторов, строковый массив или 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 добавляет полосу прокрутки.

Пример: {'Джозеф Уэлфорд'; «Мэри Рейли»; 'Роберта Сильберлихт'}

Значение измененного обратного вызова, указанное как одно из следующих значений:

  • Дескриптор функции.

  • Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуется). MATLAB вычисляет это выражение в базовой рабочей области.

Обратный вызов выполняется, когда пользователь изменяет текст и нажимает клавишу Tab или щелкает за пределами текстовой области. Он не выполняется, если Value программно изменяется свойство.

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с текстовой областью. MATLAB передает эту информацию в ValueChangedData объект в качестве второго аргумента функции обратного вызова. В App Designer аргумент называется event. Можно запросить свойства объекта с помощью точечной нотации. Например, event.PreviousValue возвращает предыдущее значение текстовой области. ValueChangedData недоступен для функций обратного вызова, указанных как векторы символов.

В следующей таблице перечислены свойства ValueChangedData объект.

СобственностьСтоимость
ValueЗначение текстовой области после последнего взаимодействия с ней пользователя приложения
PreviousValueЗначение текстовой области перед последним взаимодействием пользователя приложения с ней
SourceКомпонент, выполняющий обратный вызов
EventName'ValueChanged'

Дополнительные сведения о записи обратных вызовов см. в разделе Запись обратных вызовов в App Designer.

Расположение и размер текстовой области относительно родительского объекта, указанного как вектор [left bottom width height]. В этой таблице описывается каждый элемент вектора.

ЭлементОписание
leftРасстояние от внутреннего левого края родительского контейнера до внешнего левого края текстовой области
bottomРасстояние от внутреннего нижнего края родительского контейнера до внешнего нижнего края текстовой области
widthРасстояние между правым и левым наружными краями текстовой области
heightРасстояние между верхним и нижним внешними краями текстовой области

Все измерения представлены в единицах пикселей.

Position значения относятся к области извлечения родительского контейнера. Извлекаемая область представляет собой область внутри границ контейнера и не включает область, занятую украшениями, такими как строка меню или заголовок.

Пример: [100 100 100 90]

См. также

Функции

Свойства

Представлен в R2016a