uitextarea

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

Синтаксис

txa = uitextarea
txa = uitextarea(parent)
txa = uitextarea(___,Name,Value)

Описание

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, Panel, ButtonGroup или GridLayout. Если никакой контейнер не задан, MATLAB вызывает функцию uifigure, чтобы создать новый объект Figure, который служит родительским контейнером.

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (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 соответствуют выделенной области родительского контейнера. Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую художественными оформлениями, такими как панель меню или заголовок.

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

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

Функции

Свойства

Введенный в R2016a

Для просмотра документации необходимо авторизоваться на сайте