Main Content

textwrap

ユーザー インターフェイス コントロールのテキストの折り返し

説明

メモ

関数 textwrapUIControl オブジェクトとともに使用することは、App Designer 内または関数 uifigure を使用して作成されたアプリ内ではサポートされません。代わりに、Label または Button などのコンポーネントでテキストを折り返すには、コンポーネントの WordWrap プロパティを 'on' に設定します。

wrappedtext = textwrap(c,txt) は、指定された UIControl オブジェクト c に収まる文字幅で折り返されたテキストを返します。UI コントロール オブジェクトは、関数 uicontrol'Style' プロパティの値を 'text' または 'edit' に設定して作成されたものでなければなりません。たとえば、c = uicontrol('Style','text') のようになります。

wrappedtext = textwrap(c,txt,numchar) は、所定の UI コントロール用に指定された文字数で各行を折り返したテキストを返します。文字数にはスペースも含まれます。textwrap は、単語については可能な限り分割しないように処理します。単語が指定された文字数に収まらない場合、textwrap はその単語を次の行の先頭に移動します。

wrappedtext = textwrap(txt,numchar) は、指定された文字数で各行を折り返したテキストを返します。

[wrappedtext,position] = textwrap(___) は、折り返すテキストに基づいて UI コントロールの推奨位置も返します。テキスト全体をクリッピングなしで uicontrol に表示できる位置が返されます。UI コントロールを指定しない場合は、位置ベクトルの値がすべてゼロになります。

すべて折りたたむ

スタティック テキスト フィールドの String プロパティに 2 行のテキストを指定します。

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

Figure window with text that is wrapped and cut off

テキスト フィールドの既定の幅と高さが指定したテキスト全体が収まる十分な大きさでないため、このテキストは 2 行よりも多くの行に分割されて折り返されます。単語「Extraordinarily」も 2 行に分割されていることに注目してください。

最小限のサイズ変更で UI コントロールの幅に収まるように、テキストの折り返しを示す文字ベクトルの cell 配列をプレビューすることを推奨します。

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.'};

Figure window with text that is wrapped and cut off

UIControl オブジェクトの既定の幅と高さがテキスト全体が収まる十分な大きさでないため、このテキストは複数の行に分割されて表示されます。

基準となる最大テキスト幅を 16 文字として、折り返されたテキストと UIControl オブジェクトの推奨位置をプレビューします。

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

Figure window with the full text: "The data shown represents 18 months of observations."

入力引数

すべて折りたたむ

UI コントロール オブジェクト。UIControl オブジェクトとして指定します。複数行のテキストをサポートする UIControl オブジェクトでなければなりません。たとえば、Style プロパティが 'text' または 'edit' のものです。この引数を使用して、指定した UI コントロールでのテキストの折り返し方法、または折り返すテキストに基づく UI コントロールの推奨サイズを判別します。

折り返すテキスト。文字ベクトルの cell 配列、string 配列、または string スカラーとして指定します。

例: {'Please select an answer from the options below.'}

例: ["Enter your name using","the format LastName, FirstName"]

テキストの各行の文字数。正の整数として指定します。この引数を使用して、各行の最大文字幅を指定します。numchartxt の文字数を超えている場合、テキストは折り返されません。

出力引数

すべて折りたたむ

折り返されたテキスト。文字ベクトルの cell 配列として返されます。指定した UI コントロールにテキストを表示するには、UI コントロールの String プロパティに wrappedtext を割り当てなければなりません。

UI コントロールの推奨位置。[left bottom width height] の形式の 4 要素ベクトルとして返されます。単位は UI コントロールの単位と同じになります。指定したテキストをクリッピングなしで複数行に表示できるように uicontrol の幅と高さを最適化した位置が返されます。UI コントロールを指定しない場合は、位置ベクトルの値がすべてゼロになります。

バージョン履歴

R2006a より前に導入