textwrap

Сверните текст для управления пользовательским интерфейсом

Используйте эту функцию только с GUIDE, или с приложениями, созданными с помощью функции figure

Синтаксис

wrappedtext = textwrap(c,txt)
wrappedtext = textwrap(c,txt,numchar)
[wrappedtext,position] = textwrap(___)

Описание

пример

wrappedtext = textwrap(c,txt) возвращает текст, перенесенный в ширине символов, которая соответствует в заданном объекте UIControl, c. Объект управления пользовательского интерфейса должен быть тем, созданным с функцией uicontrol, значение свойства 'Style' которой установлено в 'text' или 'edit'. Например, c = uicontrol('Style','text').

пример

wrappedtext = textwrap(c,txt,numchar) возвращает текст, который переносит каждую строку в конкретном количестве символов. Пробелы включены в счетчик символов. textwrap старается не разделять слова, если это возможно. Если слово не может быть размещено в конкретном количестве символов, то textwrap перемещает его в запуск следующей строки.

пример

[wrappedtext,position] = textwrap(___) также возвращает рекомендуемое положение для управления пользовательского интерфейса на основе текста, который будет перенесен. Возвращенное положение является тем, которое позволяет полному тексту отображаться в uicontrol без усечения. Если управление пользовательского интерфейса не задано, радиус-вектор содержит все нули.

Примеры

свернуть все

Задайте две строки текста для свойства String поля статического текста.

c = uicontrol('Style','text');
c.String = {'Extraordinarily long text will be wrapped', ...
'inside of a static text field.'};

Текст отключен и переносится больше чем через две строки, потому что ширина по умолчанию и высота текстового поля не являются достаточно большими, чтобы разместить полный из заданного текста. Заметьте, как слово "Extraordinarily" также разделено через две строки.

Предварительно просмотрите массив ячеек из символьных векторов, который рекомендуется для переноса текста так, чтобы это соответствовало в ширине управления пользовательского интерфейса с наименьшим количеством объема изменения размеров.

wrappedtext = textwrap(c,c.String)
wrappedtext =

  7×1 cell array

    {'Extraordinarily'}
    {'long text'      }
    {'will be'        }
    {'wrapped'        }
    {'inside of a'    }
    {'static text'    }
    {'field.'         }

Сверните текст в заданной ширине символов и отобразите ее в поле статического текста.

Создайте поле статического текста в положении по умолчанию [20 20 60 20]. Задайте текст, чтобы отобразиться в нем.

c = uicontrol('Style','text');
c.String = {'The data shown represents 18 months of observations.'};

Текст отключен и отображается на нескольких строках, потому что значения ширины и высоты по умолчанию uicontrol являются слишком маленькими, чтобы разместить полный текст.

Предварительно просмотрите перенесенный текст и рекомендуемое положение uicontrol на основе максимальной текстовой ширины 16 символов.

[wrappedtext,position] = textwrap(c,c.String,16)
wrappedtext =

  4×1 cell array

    {'The data shown '}
    {'represents 18 ' }
    {'months of '     }
    {'observations.'  }


position =

    20    20    86    64

Отобразите перенесенный текст в текстовом поле и переместите его в рекомендуемое положение.

c.String = wrappedtext;
c.Position = position;

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

свернуть все

Объект управления пользовательского интерфейса, заданный как объект UIControl. Объект UIControl должен поддержать многострочный текст. Например, его свойством 'Style может быть 'text' или 'edit'. Используйте этот аргумент, чтобы определить, как текст переносится в заданном управлении пользовательского интерфейса, или определить рекомендуемый размер для управления пользовательского интерфейса на основе текста, который будет перенесен.

Текст, чтобы перенестись, заданный как массив ячеек из символьных векторов, массив строк или скаляр строки.

Пример: {'Please select an answer from the options below.'}

Пример: ["Enter your name using","the format LastName, FirstName"]

Количество символов в каждой строке текста, заданного как положительное целое число. Используйте этот аргумент, чтобы задать максимальную ширину символов для каждой строки. Если numchar превышает количество символов в txt, то текст не переносится.

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

свернуть все

Перенесенный текст, возвращенный как массив ячеек из символьных векторов. Чтобы отобразить текст на заданном управлении пользовательского интерфейса, необходимо присвоить wrappedtext свойству String управления пользовательского интерфейса.

Положение рекомендовано для управления пользовательского интерфейса, возвращенного как четырехэлементный вектор формы [left bottom width height]. Модули совпадают с модулями управления пользовательского интерфейса. Возвращенное положение оптимизирует ширину и высоту uicontrol так, чтобы заданный текст мог отобразиться через несколько строк без усечения. Если управление пользовательского интерфейса не задано, то радиус-вектор содержит все нули.

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

|

Представлено до R2006a