| MATLAB Function Reference |
Uicontrol Properties
ユーザは、2つの方法により、グラフィックオブジェクトプロパティを設定したり、引用できます。
setとgetを使って、プロパティの値を見たり、引用したりすることができます。プロパティのデフォルト値を変更するには、デフォルトプロパティ値の設定を参照してください。
Uicontrolプロパティの記述
Figure と Root レベルでのデフォルトのUicontrolプロパティを設定することができます。
set(0,'DefaultUicontrolProperty',PropertyValue...)
set(gcf,'DefaultUicontrolProperty',PropertyValue...)
ここで、 Property は、設定しようとするUicontrol
プロパティのデフォルト値の名前で、 PropertyValue
は、設定する値です。 set と get を使って、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
CreateFcn
文字列
オブジェクトを作成中に実行するコールバックルーチン。このプロパティは、MATLABがUicontrolsオブジェクトを作成するときに実行するコールバックルーチンを定義します。Uicontrolsは、デフォルト値を定義しなければなりません。たとえば、つぎのステートメント
set(0,'DefaultUicontrolCreateFcn',... 'set(gcf,''IntegerHandle'',''off'')')
は、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がどのように応答するかをコントロールするものです。
on - uicontrol は、実行します(デフォルト)。inactive - uicontrol は、実行しませんが、Enable が onの場合と同じように見えます。off - uicontrol は、実行せず、stringプロパティで設定したラベルは、灰色がかって表示され、アクティブにはなりません。Enableプロパティがonのuicontrolの上を左クリックすると、MATLAB
は、つぎの順番で、つぎのような挙動を示します。
SelectionType プロパティを設定します。 Callback ルーチンを実行します。 CurrentPointプロパティを設定せず、コントロールのButtonDownFcn、または、フィギュアのWindowButtonDownFcnコールバックのどちらも実行しません。
Enableプロパティが、 inactive、または、offの
uicontrolの上を左クリックすると、または、Enableのプロパティがなんらかの値をもっているuicontrol上を右クリックすると、MATLABは、つぎの順番で、挙動を示します。
SelectionType プロパティを設定します。 CurrentPoint プロパティを設定します。 WindowButtonDownFcn
コールバックを実行します。 ButtonDownFcn コールバックを実行します。
Callback
ルーチンを実行します。 Callback ルーチンを実行しません。 このプロパティを非アクティブにするか、offにするかで、ButtonDownFcnコールバックルーチンを使って、オブジェクトをドラッグしたり、リサイズすることができます。
Extent
長方形の位置(読み取りのみ)
Uicontrolキャラクタ文字列のサイズ。Uicontrolにラベル付けを行うために使うキャラクタ文字列のサイズと位置を設定する4要素ベクトルで、つぎの型をしています。
[0,0,width,height]
最初の2つの要素は、常にゼロで、width と height
により、長方形の大きさを決定します。これらの単位は、Units
プロパティで設定されているものを使います。
Extent
プロパティは、Uicontrol自身と同じ単位で定義されているので、そのラベルをもつUicontrolに対して、適切な大きさを決めるために、このプロパティを使うことができます。つぎのように行います。
String
プロパティを定義し、関連したプロパティを使ってフォントを選択します。
Extent プロパティの値を取り出します。 Positionプロパティのwidth と height を、Extentプロパティの
width と height より少し大きく取ります。 文字列が数行になる場合、 Extent長方形は、すべての行を含みます。
一行の文字列の場合、Extentは、コントロール上で、表示上不連続になって見えても、一行として出力されます。
FontAngle {normal}
| italic | oblique
キャラクタの傾斜。 MATLABは、このプロパティを使って、ユーザのシステムで使用可能なフォントの型を選択します。一般的に、このプロパティをitalics
や oblique に設定すると、傾斜したフォントに設定されます。
FontName
文字列
フォントファミリ。Stringを表示するために使うフォント名を指定する文字列。適切に表示したり、印刷したりするためには、このプロパティはユーザのシステムがサポートするフォントでなければなりません。デフォルトのフォントは、システムに依存します。
ある局所的な部分で、良く見えるように固定した幅のフォントを使用するため(マルチバイトのキャラクタが使われている、日本では適切に表示する必要あり)、FontNameに文字列FixedWidthを設定します(この文字列の値は、大文字、小文字の区別を行います)。
set(uicontrol_handle, 'FontName', 'FixedWidth')
このパラメータ値は、固定幅のフォントの名前をハードコードするために必要な処理をエルミネーションします。これは、ASCIIキャラクタコーディング(日本語)を使用しないシステム上で、適切にテキストを表示できません。固定幅のフォントを使用する必要で適切に記述されたMATLABアプリケーションは、FontName
を FixedWidthに設定し、エンドユーザの環境の中に正しく設定されたルートの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内に、コマンドラインから誤って書き込むことや削除することを防ぐために有効です。
HandleVisibility
が onのときは、ハンドルは常に見える状態です。
HandleVisibility
をcallbackに設定すると、ハンドルは、コールバックルーチンの中から、または、コールバックにより起動される関数からは可視化されますが、コマンドラインから起動される関数の中からは可視化されません。これは、コマンドラインユーザがGUIを保護しながら、コールバックルーチンがオブジェクトのハンドルに完全にアクセスできるようにするために提供されています。
HandleVisibility
を off
に設定すると、常にハンドルは視覚不可能になります。これは、コールバックルーチンが、GUIを傷つける可能性(ユーザがタイプした文字列の評価のような)がある関数を呼び込み、その関数の実行中にハンドルを一時的に隠すときに必要です。
ハンドルが子オブジェクトの親のリスト内で視覚不可能のとき、オブジェクトの階層を検索したり、ハンドルのプロパティを確認してハンドルを取得する関数は、ハンドル番号を出力しません。これらの関数には、get, findobj, gca, gcf, gco, newplot, cla, clf, closeが含まれます。
ハンドルの視覚状態がcallback やoffを使って制限されているとき、オブジェクトのハンドルは、その親のChildren
プロパティには現れません。Figureは、ルートのCurrentFigure
プロパティに現れず、オブジェクトは、ルートのCallbackObject
プロパティ、または、FigureのCallbackObject
プロパティに現れません。そしてAxesは、親オブジェクトのCurrentAxes
プロパティに現れません。
ルートのShowHiddenHandlesプロパティをonに設定すると、それらのHandleVisibilityの設定(これは、HandleVisibilityプロパティの値に影響を与えません)に拘わらず、すべてのハンドルを視覚可能にできます。
隠されているハンドル番号も、まだ有効です。オブジェクトのハンドルが分
かっていると、そのプロパティを関数setとgetで設定し、ハンドルを取り扱う関数に渡すことができます。
HitTest {on}
| off
マウスクリックにより選択。このプロパティは、Uicontrol オブジェクト上で機能しません。
HorizontalAlignment left
| {center} | right
ラベルの文字列の水平方向の配置。Stringプロパティに対して定義するテキストの位置を決めるものです。
left -- テキストは、Uicontrolに関して左に合わせます。 center -- テキストは、Uicontrolに関して中央を合わせます。
right -- テキストは、Uicontrolに関して右に合わせます。 Microsoft Windows システムについて、このプロパティは、edit
と text Uicontrolのみに影響を与えます。
Interruptible {on}
| off
コールバックルーチンの中断モード。 コールバックが実行していて、コールバックが定義されているオブジェクトに関して、ユーザがイベントトリガを与えると、コールバックは、最初のコールバックを中断しようとします。MATLABが、つぎの要因に従って、コールバックを処理します。
Interruptible
プロパティdrawnow, figure, getframe,
pause, waitfor
ステートメントのいずれかを含んでいるか否かBusyAction
プロパティ実行しているオブジェクトのコールバックの Interruptible
プロパティがon (デフォルト)の場合、コールバックは中断します。コールバックは、つぎに表れるdrawnow,
figure, getframe, pause, waitforステートメントで、実行を中断し、待機中のコールバックを含むイベントキューの中のイベントを処理します。
実行中のオブジェクトのコールバックの Interruptible
プロパティが、offの場合、コールバックは、中断しません。実行を待機中のオブジェクトのコールバックの
BusyAction
プロパティが、コールバックに何を生じさせるかを決定します。
ListboxTop
スカラ
リストボックスの中に表示される文字列の最上部のインデックス。このプロパティは、Uicontrolの
listbox
スタイルにのみ影響を与えます。このプロパティは、表示しようとする要素すべてを表わすのに十分でないリストボックスの中で、文字列を表わす最上部の位置を指定します。ListboxTop
は、Stringプロパティで表わされる文字列の配列のインデックスで、1から文字列の数までの値になります。整数でない値は、ゼロ方向に丸められた整数になります。
Max
スカラー
最大値。このプロパティは、Valueプロパティに対して使われる最大値を設定します。種々のスタイルのUicontrolにより、Maxは種々に解釈されます。
Max
は、チェックボックスが選択されているとき、Value
プロパティの設定になります。 Max - Min > 1の場合、エディタブルテキストボックスは、複数の入力を受け入れます。Max
- Min <= 1の場合、エディタブルテキストボックスは、単一ラインのみを受け入れます。
Max - Min > 1の場合、リストボックスは、複数アイテムの選択を可能にします。Max
- Min <= 1の場合、リストボックスは、複数アイテムの選択を可能にしません。
Max
は、ラジオボックスが選択されている場合、Value
プロパティの設定になります。 Max は、選択できる最大値で、Min
プロパティよりは大きい値でなければなりません。デフォルトの最大値は1です。
Max は、切り替えボタンが選択されたとき、Value
プロパティの値になります。デフォルト値は1です。 Max
プロパティを使いません。
Min
スカラ
最小値。このプロパティは、Valueプロパティに対して使われる最小値を設定します。種々のスタイルのUicontrolにより、Minは種々に解釈されます。
Min
は、チェックボックスが選択されていない間、Value
プロパティを設定します。 Max - Min > 1の場合、エディタブルテキストボックスは、複数ラインの入力を受け入れ、Max
- Min <= 1の場合、エディタブルテキストボックスは、単一ライン入力のみを受け入れます。
Max - Min > 1の場合、リストボックスは、複数アイテムの選択を可能にします。
Max - Min <= 1の場合、複数アイテムの選択を可能にしません。
Min
は、ラジオボタンが選択されていない場合、Value
プロパティの設定になります。 Min は、選択できる最小値で、Maxよりも小さい値でなければなりません。デフォルト値は0です。
Min
は、Value プロパティの値になります。デフォルトは0です。
Min
プロパティを使いません。
Parent
ハンドル番号
Uicontrolのオブジェクトの親。Uicontrol の親オブジェクトのハンドル番号。Uicontrolオブジェクトの親は、Uicontrol が表示される Figure です。このプロパティを新しい親オブジェクトのハンドル番号に設定することで、Uicontrolオブジェクトを他の Figure へ移動することができます。
Position
位置を表わす長方形
Uicontrolのサイズと位置。このプロパティで定義される長方形は、Figureウインドの中のコントロールのサイズと位置を指定します。Position
を、つぎのように設定します。
[left,bottom,width,height]
left
と bottom は、Figureウインドウの左下隅からUicontrolオブジェクトの左下隅までの距離を表わします。
widthとheightを使って、Uicontrolの大きさを決めます。これらの単位は、Units
プロパティを使います。
Microsoft Windows
システムで、ポップアップメニューの高さは、フォントサイズによって自動的に決められます。
Positionのheightに設定した値は、影響しません。
Selected on
| {off}
選択されたオブジェクト。このプロパティがon
のとき、MATLAB は SelectionHighlight プロパティもon ならば、オブジェクトの選択状態を示すハンドルを表示します。たとえば、このプロパティを設定するために、ButtonDownFcnを定義すると、ユーザはマウスでオブジェクトを選択することができます。
SelectionHighlight {on}
| off
選択時のオブジェクトの強調。Selectedプロパティが
on のときに、MATLAB は 4 辺と4
隅に選択状態を示すハンドルを描画します。SelectionHighlightが
off のとき、MATLAB はハンドルを描画しません。
SliderStep [min_step
max_step]
スライダステップサイズ。マウスを矢印ボタン(min_step)
上、または、スライダのトラフ(max_step)上でクリックすると、スライダの
Value の変化をコントロールするものです。 SliderStep
を2要素ベクトルで設定してください。各要素値は、[0, 1]の範囲でなければなりません。実際のステップサイズは、設定した
SliderStep とスライダが移動できる範囲(Max - Min)の関数です。デフォルトは、
[0.01 0.10]で、矢印を一度クリックすると1%、トラフをクリックすると10%変化します。
たとえば、つぎのようなスライダを作ります。
uicontrol('Style','slider','Min',1,'Max',7,...
'SliderStep',[0.1 0.6])
矢印ボタンをクリックして移動する量は、つぎのようになります。
0.1*(7-1) ans = 0.6000
また、トラフをクリックして移動する量は、つぎのようになります。
0.6*(7-1) ans = 3.6000
設定したステップサイズで、範囲の外の値に移動させようとすると、インディケータは、
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
は、このデータを使いませんが、set や getを使って、アクセスすることができます。
Value
スカラ、または、ベクトル
Uicontrolのカレント値。Uicontrol スタイルは、このプロパティ値が取り得る値を決定します。
onのとき、Value は Max
で、offのとき、Min です。 Value
を選択したリストの入力に対応するインデックスベクトルに設定します。ここで、1はリストの中の最初のアイテムです。
Value
を選択したアイテムのインデックスに設定します。ここで、1はメニュー上の最初のアイテムです。
"例題" に、選択されているアイテムを決めるために、Value
プロパティをどのように決めるかを示しています。 onのとき、Value は Max
で、offのとき、Min です。 Value
をスライダバーにより示される値にします。 downのとき、Value は Max
で、upのとき、Min です。
Value
プロパティは、マウスを使って対話的に設定するか、または、set関数を使って設定できます。Valueでの変更が、表示に反映されます。
Visible {on}
| off
Uicontrolの可視化。デフォルトにより、すべてのUicontrols
は、表示されます。offに設定すると、 Uicontrol
は表示されません。しかし、そのプロパティを引用したり、設定することはできます。
| uicontrol | uigetfile |