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];

Создайте текстовую область и две метки. Когда пользователь приложения вводит текст и щелкает вне текстовой области, метка благодарит пользователя приложения за вход. Если пользователь приложения удаляет текст и щелкает вне текстовой области, текст спасибо удален.

Сохраните следующий код в 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, и введите текст в поле текстовой области. Щелкните вне текстовой области, чтобы инициировать коллбэк.

Входные параметры

свернуть все

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

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

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

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

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

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

Пример: {'Джозеф Велфорд'; 'Мэри Рейли'; 'Роберта Силберличт'}

Значение изменило коллбэк в виде одного из этих значений:

  • Указатель на функцию.

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

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

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

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

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

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

Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.

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

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

Все измерения указаны в пикселях.

Position значения относительно drawable area родительского контейнера. Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую художественными оформлениями, такими как панель меню или заголовок.

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

Смотрите также

Функции

Свойства

Введенный в R2016a