MATLAB Function Reference    

Uicontrol Properties
プロパティの変更

ユーザは、2つの方法により、グラフィックオブジェクトプロパティを設定したり、引用できます。

プロパティのデフォルト値を変更するには、デフォルトプロパティ値の設定を参照してください。

Uicontrolプロパティの記述

Figure と Root レベルでのデフォルトのUicontrolプロパティを設定することができます。

ここで、 Property は、設定しようとするUicontrol プロパティのデフォルト値の名前で、 PropertyValue は、設定する値です。 setget を使って、Uicontrol プロパティにアクセスできます。

デフォルト値は、中括弧 { } で囲んでいます。

BackgroundColor              ColorSpec

オブジェクトのバックグランドカラー。カラーは、uicontrolの長方形を塗り潰すのに使います。3要素からなる RGB ベクトルか、または、MATLABで用意されているカラーマップ名を使って、カラーを設定します。デフォルトカラーは、システムの設定で決まります。カラーの設定の詳細は、ColorSpec を参照してください。

BusyAction                   cancel | {queue}

コールバックルーチンの中断。 コールバックが実行中の場合、ユーザは、コールバックが定義されているオブジェクト上で、(マウスをクリックするような)イベントにトリガを適用すると、コールバックは、最初のコールバックを中断しようとします。最初のコールバックは、drawnow, figure, getframe, pause, waitforコマンドのいずれかでのみ中断できます。 コールバックが、これらのコマンドのいずれも含んでいない場合、中断することはできません。

実行しているオブジェクトのコールバックのInterruptibleプロパティがoff(デフォルトは、on)の場合、(あるコールバックを除いて)コールバックは中断しません。待機中のオブジェクトのコールバックのBusyActionプロパティは、コールバックに何が生じるかを決定します。

ButtonDownFcn                文字列

ボタンを押したときのコールバックルーチン。 コールバックルーチンは、Uicontrolの周辺の5ピクセルの幅の境界内にポインタが存在するときに、マウスボタンを押すと、実行します。Uicontrolの Enable プロパティが、inactive、または、offに設定しているとき、ButtonDownFcn は、5ピクセル境界内、または、コントロール自身の上で、マウスをクリックするとき、実行します。これらは、たとえば、クリックしたとき、サイズや位置のようなコントロールオブジェクトのプロパティを会話的に変更したりするような命令に対して有効です。

このルーチンをMATLABの正しい表現、または、M-ファイルの名前のどちらかで文字列として設定します。 この表現は、MATLAB ワークスペース内で実行されます。

ユーザが、プッシュボタンをクリックするようにイネーブなUicontrolをアクティブにすると、実行するコールバックルーチンを定義します。

Callback                     文字列(GUIDEが、このプロパティを設定)

制御挙動。プッシュボタンを押すときやスライダーを移動するときのように、Uicontrolオブジェクトをアクティブにしたとき、ルーチンは実行します。このルーチンは、正式なMATLAB表現、または、M-ファイル名で、文字列として設定してください。これらは、MATLABのワークスペース内で実行されます。

希望するテキストを入力し、エデッタブルテキストコントロールに対して、コールバックルーチンを実行するとき、つぎのいずれかを使用します。

これらのオブジェクトに関連した挙動が何も生じないために、フレームやスタテックテキストに対して定義したコールバックルーチンは、実行しません。

CData                        行列

コントロール上で表示されるトゥールカラーイメージ。プッシュボタン、または、切り換えボタン上に表示されているトゥールカラーイメージを定義するRGB値からなる3次元行列。各値は、0.0から1.0の値です。

Children                     行列

空行列。Uicontrol オブジェクトは、子オブジェクトをもちません。

Clipping                     {on} | off

このプロパティは、Uicontrols上で機能しません。

CreateFcn                    文字列

オブジェクトを作成中に実行するコールバックルーチン。このプロパティは、MATLABがUicontrolsオブジェクトを作成するときに実行するコールバックルーチンを定義します。Uicontrolsは、デフォルト値を定義しなければなりません。たとえば、つぎのステートメント

は、uicontrolオブジェクトを作成するとき、FigureのIntegerHandle プロパティをoffに設定するrootレベルのデフォルト値を定義します。MATLABは、uicontrolに対するすべてのプロパティ値を設定した後、このルーチンを実行します。存在するuicontrolオブジェクト上に、このプロパティを設定しても、影響しません。

オブジェクトのCreateFcnのハンドルは、 gcboを使って引用できるルートの CallbackObjectプロパティを通してのみアクセスできます。

DeleteFcn                    文字列

Uicontrolを削除するときのコールバックルーチン。Uicontrolオブジェクトを削除する(deleteコマンドを使ったり、Uicontrolを含むフィギュアをクリアする)ときに実行するコールバックルーチン。 MATLABは、これらのオブジェクトのプロパティを壊す前に、ルーチンを実行するので、これらの値は、コールバックルーチンの中で利用できます。

オブジェクトのDeleteFcnのハンドルは、 gcboを使って引用できるルートの CallbackObjectプロパティを通してのみアクセスできます。

Enable                       {on} | inactive | off

uicontrol の実行、または、不実行。 このプロパティは、マウスボタンをクリックしたときに、コールバックルーチンの実行も含んで、uicontrolがどのように応答するかをコントロールするものです。

Enableプロパティがonのuicontrolの上を左クリックすると、MATLAB は、つぎの順番で、つぎのような挙動を示します。

  1. フィギュアの SelectionType プロパティを設定します。
  2. コントロールのCallback ルーチンを実行します。
  3. フィギュアのCurrentPointプロパティを設定せず、コントロールのButtonDownFcn、または、フィギュアのWindowButtonDownFcnコールバックのどちらも実行しません。

Enableプロパティが、 inactive、または、offの uicontrolの上を左クリックすると、または、Enableのプロパティがなんらかの値をもっているuicontrol上を右クリックすると、MATLABは、つぎの順番で、挙動を示します。

  1. フィギュアの SelectionType プロパティを設定します。
  2. フィギュアの CurrentPoint プロパティを設定します。
  3. フィギュアの WindowButtonDownFcn コールバックを実行します。
  4. uicontrolが、コンテキストメニューと関連している場合、右クリックにより、コンテキストメニューを所有することになります。
  5. コントロールの ButtonDownFcn コールバックを実行します。
  6. 選択したコンテキストメニューアイテムの Callback ルーチンを実行します。
  7. コントロールの Callback ルーチンを実行しません。

このプロパティを非アクティブにするか、offにするかで、ButtonDownFcnコールバックルーチンを使って、オブジェクトをドラッグしたり、リサイズすることができます。

Extent                       長方形の位置(読み取りのみ)

Uicontrolキャラクタ文字列のサイズ。Uicontrolにラベル付けを行うために使うキャラクタ文字列のサイズと位置を設定する4要素ベクトルで、つぎの型をしています。

最初の2つの要素は、常にゼロで、widthheight により、長方形の大きさを決定します。これらの単位は、Units プロパティで設定されているものを使います。

Extent プロパティは、Uicontrol自身と同じ単位で定義されているので、そのラベルをもつUicontrolに対して、適切な大きさを決めるために、このプロパティを使うことができます。つぎのように行います。

文字列が数行になる場合、 Extent長方形は、すべての行を含みます。 一行の文字列の場合、Extentは、コントロール上で、表示上不連続になって見えても、一行として出力されます。

FontAngle                    {normal} | italic | oblique

キャラクタの傾斜。 MATLABは、このプロパティを使って、ユーザのシステムで使用可能なフォントの型を選択します。一般的に、このプロパティをitalics oblique に設定すると、傾斜したフォントに設定されます。

FontName                     文字列

フォントファミリ。Stringを表示するために使うフォント名を指定する文字列。適切に表示したり、印刷したりするためには、このプロパティはユーザのシステムがサポートするフォントでなければなりません。デフォルトのフォントは、システムに依存します。

ある局所的な部分で、良く見えるように固定した幅のフォントを使用するため(マルチバイトのキャラクタが使われている、日本では適切に表示する必要あり)、FontNameに文字列FixedWidthを設定します(この文字列の値は、大文字、小文字の区別を行います)。

このパラメータ値は、固定幅のフォントの名前をハードコードするために必要な処理をエルミネーションします。これは、ASCIIキャラクタコーディング(日本語)を使用しないシステム上で、適切にテキストを表示できません。固定幅のフォントを使用する必要で適切に記述されたMATLABアプリケーションは、FontNameFixedWidthに設定し、エンドユーザの環境の中に正しく設定されたルートのFixedWidthFontNameプロパティを使います。

エンドユーザは、ルートのFixedWidthFontNameプロパティをstartup.mに設定した適切な値に設定することにより、種々の部分や個人の環境に MATLABアプリケーションを採用できます。ルートFixedWidthFontNameプロパティを設定することは、新しいフォントを使用して表示したものをすぐに更新することになります。

FontSize                     FontUnitsで設定した単位でのサイズ

フォントサイズ。String に対して用いるフォントサイズを指定する整数で、FontUnitsプロパティで指定した単位で表わされます。デフォルトのサイズは、システムに依存します。

FontUnits                    {points} | normalized | inches |
                             centimeters | pixels

フォントのサイズの単位。MATLABは、このプロパティを使って、FontSizeプロパティで使う単位を決定します。Normalizedは、FontSizeをUicontrolの高さ分割比として解釈します。Uicontrolをリサイズするとき、MATLAB はスクリーンの FontSize を修正します。pixels,inches, centimeters, points は、絶対単位です(1ポイント = 1/72インチ)。

FontWeight                   light | {normal} | demi | bold

Text キャラクタの重み。MATLABは、このプロパティを使ってユーザのシステムで使用可能なフォントの型を選択します。このプロパティをbold に設定すると、MATLAB は太字フォントを使います。

ForegroundColor              ColorSpec

テキストのカラー。このプロパティは、 String プロパティ (Uicontrolラベル) に対して定義されるテキストのカラーを決定します。カラーは、3要素からなるRGBベクトル、または、MATLABが用意しているカラーマップを使います。デフォルトのテキストカラーは黒です。カラーの設定の詳細は、ColorSpec を参照してください。

HandleVisibility             {on} | callback | off

コマンドラインユーザとGUIによるオブジェクトのハンドルへのアクセスの制御HandleVisibilityは、オブジェクトのハンドルが、その子オブジェクトの親のリスト内で視覚可能であるときに指定します。このプロパティは、(ダイアログボックスのような)ユーザインタフェースデバイスのみを含んでいるFigure内に、コマンドラインから誤って書き込むことや削除することを防ぐために有効です。

HandleVisibilityonのときは、ハンドルは常に見える状態です。

HandleVisibilitycallbackに設定すると、ハンドルは、コールバックルーチンの中から、または、コールバックにより起動される関数からは可視化されますが、コマンドラインから起動される関数の中からは可視化されません。これは、コマンドラインユーザがGUIを保護しながら、コールバックルーチンがオブジェクトのハンドルに完全にアクセスできるようにするために提供されています。

HandleVisibilityoff に設定すると、常にハンドルは視覚不可能になります。これは、コールバックルーチンが、GUIを傷つける可能性(ユーザがタイプした文字列の評価のような)がある関数を呼び込み、その関数の実行中にハンドルを一時的に隠すときに必要です。

ハンドルが子オブジェクトの親のリスト内で視覚不可能のとき、オブジェクトの階層を検索したり、ハンドルのプロパティを確認してハンドルを取得する関数は、ハンドル番号を出力しません。これらの関数には、get, findobj, gca, gcf, gco, newplot, cla, clf, closeが含まれます。

ハンドルの視覚状態がcallbackoffを使って制限されているとき、オブジェクトのハンドルは、その親のChildren プロパティには現れません。Figureは、ルートのCurrentFigure プロパティに現れず、オブジェクトは、ルートのCallbackObject プロパティ、または、FigureのCallbackObject プロパティに現れません。そしてAxesは、親オブジェクトのCurrentAxes プロパティに現れません。

ルートのShowHiddenHandlesプロパティをonに設定すると、それらのHandleVisibilityの設定(これは、HandleVisibilityプロパティの値に影響を与えません)に拘わらず、すべてのハンドルを視覚可能にできます。

隠されているハンドル番号も、まだ有効です。オブジェクトのハンドルが分 かっていると、そのプロパティを関数setgetで設定し、ハンドルを取り扱う関数に渡すことができます。

HitTest                      {on} | off

マウスクリックにより選択。このプロパティは、Uicontrol オブジェクト上で機能しません。

HorizontalAlignment             left | {center} | right

ラベルの文字列の水平方向の配置Stringプロパティに対して定義するテキストの位置を決めるものです。

Microsoft Windows システムについて、このプロパティは、edittext Uicontrolのみに影響を与えます。

Interruptible                {on} | off

コールバックルーチンの中断モード。 コールバックが実行していて、コールバックが定義されているオブジェクトに関して、ユーザがイベントトリガを与えると、コールバックは、最初のコールバックを中断しようとします。MATLABが、つぎの要因に従って、コールバックを処理します。

実行しているオブジェクトのコールバックの Interruptible プロパティがon (デフォルト)の場合、コールバックは中断します。コールバックは、つぎに表れるdrawnow, figure, getframe, pause, waitforステートメントで、実行を中断し、待機中のコールバックを含むイベントキューの中のイベントを処理します。

実行中のオブジェクトのコールバックの Interruptible プロパティが、offの場合、コールバックは、中断しません。実行を待機中のオブジェクトのコールバックの BusyAction プロパティが、コールバックに何を生じさせるかを決定します。

ListboxTop                   スカラ

リストボックスの中に表示される文字列の最上部のインデックス。このプロパティは、Uicontrolの listbox スタイルにのみ影響を与えます。このプロパティは、表示しようとする要素すべてを表わすのに十分でないリストボックスの中で、文字列を表わす最上部の位置を指定します。ListboxTop は、Stringプロパティで表わされる文字列の配列のインデックスで、1から文字列の数までの値になります。整数でない値は、ゼロ方向に丸められた整数になります。

Max                          スカラー

最大値。このプロパティは、Valueプロパティに対して使われる最大値を設定します。種々のスタイルのUicontrolにより、Maxは種々に解釈されます。

Min                          スカラ

最小値。このプロパティは、Valueプロパティに対して使われる最小値を設定します。種々のスタイルのUicontrolにより、Minは種々に解釈されます。

Parent                       ハンドル番号

Uicontrolのオブジェクトの親。Uicontrol の親オブジェクトのハンドル番号。Uicontrolオブジェクトの親は、Uicontrol が表示される Figure です。このプロパティを新しい親オブジェクトのハンドル番号に設定することで、Uicontrolオブジェクトを他の Figure へ移動することができます。

Position                     位置を表わす長方形

Uicontrolのサイズと位置。このプロパティで定義される長方形は、Figureウインドの中のコントロールのサイズと位置を指定します。Position を、つぎのように設定します。

leftbottom は、Figureウインドウの左下隅からUicontrolオブジェクトの左下隅までの距離を表わします。 widthheightを使って、Uicontrolの大きさを決めます。これらの単位は、Units プロパティを使います。

Microsoft Windows システムで、ポップアップメニューの高さは、フォントサイズによって自動的に決められます。 Positionheightに設定した値は、影響しません。

Selected                     on | {off}

選択されたオブジェクト。このプロパティがon のとき、MATLAB は SelectionHighlight プロパティもon ならば、オブジェクトの選択状態を示すハンドルを表示します。たとえば、このプロパティを設定するために、ButtonDownFcnを定義すると、ユーザはマウスでオブジェクトを選択することができます。

SelectionHighlight           {on} | off

選択時のオブジェクトの強調Selectedプロパティが on のときに、MATLAB は 4 辺と4 隅に選択状態を示すハンドルを描画します。SelectionHighlightoff のとき、MATLAB はハンドルを描画しません。

SliderStep                   [min_step max_step]

スライダステップサイズ。マウスを矢印ボタン(min_step) 上、または、スライダのトラフ(max_step)上でクリックすると、スライダの Value の変化をコントロールするものです。 SliderStep を2要素ベクトルで設定してください。各要素値は、[0, 1]の範囲でなければなりません。実際のステップサイズは、設定した SliderStep とスライダが移動できる範囲(Max - Min)の関数です。デフォルトは、 [0.01 0.10]で、矢印を一度クリックすると1%、トラフをクリックすると10%変化します。

たとえば、つぎのようなスライダを作ります。

矢印ボタンをクリックして移動する量は、つぎのようになります。

また、トラフをクリックして移動する量は、つぎのようになります。

設定したステップサイズで、範囲の外の値に移動させようとすると、インディケータは、 Max、または、Min のどちらかの値まで移動します。

Max, Min, Value プロパティを参照してください。

String                       文字列

uicontrol ラベル、リストボックスアイテム、ポップアップメニューの選択。チェックボックス、エディタブルテキスト、プッシュボタン、ラジオボタン、スタティクテキスト、切り替えボタン上に表示されるテキストを指定する文字列です。リストボックスとポップアップメニューに対して、その中に表示される要素とアイテムすべてです。

一行のテキストのみを表示する uicontrol オブジェクトに対して、文字値がセル配列、または、付加された文字列行列の場合、セル配列の最初の文字列、または、付加された文字列行列の最初の文字列が表示され、残りは無視されます。`|'キャラクタは、ラインでの分離とは考えられず、代わりに、uicontrol の中に表示されるテキストに表れます。

複数ラインエディタブルテキスト、または、スタティックテキストコントロールに対して、改行は、文字行列の各行、文字列のセル配列の各セル、文字列の中に組み込まれた\nキャラクタの後に生じます。|キャラクタは、改行として解釈されず、代わりに、uicontrolの中に表示される文字と解釈されます。

リストボックス、または、ポップアップメニュー上の複数行のアイテムに対して、文字列のセル配列、付加された文字列行列として、アイテムを設定することができ、または、| キャラクタで分離した文字ベクトルの範囲で、アイテムを設定することができます。

エディタブルテキストは、ユーザによって入力される文字列を設定するプロパティです。

Style                        {pushbutton} | togglebutton | radiobutton |
                             checkbox | edit | text | slider | frame |
                             listbox | popupmenu

作成するUicontrolオブジェクトのスタイルStyle プロパティは、作成するUicontrol の種類を設定します。個々のタイプに対しては、"詳細"を参照してください。

Tag                          文字列(GUIDEを使って、このプロパティを設定)

ユーザ指定のオブジェクトのラベル。Tag プロパティは、ユーザ指定のラベルでグラフィックスオブジェクトを識別する方法を提供します。これはオブジェクトのハンドル番号をグローバル変数として定義したり、コールバックルーチン間で引数として渡すことを必要とする、対話的なグラフィックスプログラムを構築するときに、特に有効です。任意の文字列でTag を指定することができます。

TooltipString                文字列

オブジェクトに対するツールチップの内容TooltipString プロパティは、Uicontrolに関連したツールチップのテキストを設定します。ユーザが、マウスポインタをコントロールの上に移動し、しばらくその状態にすると、ツールチップが表示されます。

Type                         文字列(参照のみ)

グラフィックスオブジェクトのクラス。Uicontrolオブジェクトで、Type は、常に文字列 'uicontrol'になります。

UIContextMenu                ハンドル

Uicontrolとコンテキストメニューとの関連付け。このプロパティは、Uicontextmenuオブジェクトのハンドルを割り当てます。MATLAB は、Uicontrol上を右クリックする度に、コンテキストメニューを表示します。コンテキストメニューを作成するために、uicontextmenu 関数を使います。

Units                        {pixels} | normalized | inches |
                   centimeters | points | characters
(Guideのデフォルトは、normalizeです)

測定の単位。このプロパティは、MATLABが Extent Position プロパティを解釈する単位を指定します。すべての単位は、フィギュアウインドウの左下隅から測定されます。Normalizedは、長方形の左下隅を (0,0) に写像し、右上隅を(1.0,1.0) に写像します。 pixels, inches,centimeters, points は、絶対単位です(1ポイント = 1/72インチ)。Character単位は、デフォルトシステムフォントを使ったキャラクタです。すなわち、1つのキャラクタの幅は、文字xの幅で、高さは、テキストの2つのラインのベースライン間の距離です。

Unitsの値を変更すると、必ず計算の後に、もとのデフォルト値に戻すことをお勧めします。これは、他の関数では、Unitsの設定値がデフォルト値を使っていることを仮定しているからです。

UserData                     行列

ユーザ指定データ。Uicontrolオブジェクトと関連したデータ。MATLAB は、このデータを使いませんが、setgetを使って、アクセスすることができます。

Value                        スカラ、または、ベクトル

Uicontrolのカレント値。Uicontrol スタイルは、このプロパティ値が取り得る値を決定します。

Value プロパティは、マウスを使って対話的に設定するか、または、set関数を使って設定できます。Valueでの変更が、表示に反映されます。

Visible                      {on} | off

Uicontrolの可視化。デフォルトにより、すべてのUicontrols は、表示されます。offに設定すると、 Uicontrol は表示されません。しかし、そのプロパティを引用したり、設定することはできます。


  uicontrol uigetfile