MATLAB Function Reference    
uicontrol

ユーザインタフェースコントロールオブジェクトの作成

表示

詳細

uicontrol は、Uicontrolグラフィカルオブジェクト(user interface controls)を作成する関数です。Uicontrolを使って、グラフィカルユーザインタフェースを実行します。選択されると、Uicontrolオブジェクトは既定の動作を行います。MATLABは、種々のスタイルのUicontrolをサポートしており、それらの各々が異なる目的に対応します。

チェックボックス は、クリックしたときにある動作が行われます。このデバイスは、独立な選択を複数個、行うときに有効です。チェックボックスを動作させるためには、オブジェクトの上でマウスボタンを押します。デバイスの状態は、ディスプレイ上に示されます。

エディタブルテキストボックス は、ユーザが入力や編集ができるテキストを含むボックスです。テキストを入力として使いたいときにエディタブルテキストを使ってください。

Microsoft Windows システムでは、エディタブルテキストボックスが対象となっている場合、メニューバーをクリックすると、エディタブルテキストのコールバックルーチンは実行しません。しかし、UNIXシステムでは実行されます。そのため、(テキスト文字列がスクリーン上で変更されていても)Stringプロパティを更新するために、コールバックルーチンを実行しなければならないので、メニューバー上でクリックした後で、つぎのステートメント

は、Microsoft Windows システムでは、エディットボックスのカレントの内容を出力しません。これは、MATLAB が、(これは、スクリーン上でテキスト文字列が変更されたときでも)String プロパティを更新するコールバックルーチンを実行しなければならないからです。これは、対応するプラットフォームの使用法と整合性があります。

フレームは、Figureウインドウの領域を囲むボックスです。フレームは、関連するコントロールをグループ化してユーザインタフェースを理解しやすくします。フレームに関連するコールバックルーチンはありません。フレームには、Uicontrolのみが表示されます。

フレームは不透明なので、フレーム内のuicontrolがフレームによって隠されるか、または視角可能であるかどうかを指定する際には、Uicontrolの定義の順序が重要です。スタックの順番がオブジェクトの描画の順番を決定します。1番目に定義されたオブジェクトは、1番目に描画されます。その後、定義されたオブジェクトは、既存のオブジェクトの上に描画されます。オブジェクトを囲むためにフレームを使う場合は、オブジェクトを定義する前にフレームを定義しなければなりません。

リストボックスは、(String プロパティを使って定義した)文字列のリストを表示し、複数の項目を選択できるようにします。MinプロパティとMaxプロパティは、この選択のモードの制御を行います。Valueプロパティは、選択された要素を表わし、文字列のリストのインデックスを含んでいます。ベクトルの値は、複数の選択を表わします。MATLABは、Valueプロパティを変更するマウスのボタンアップイベントの後で、リストボックスのコールバックルーチンを実行します。従って、リストの項目上で複数回クリックすることが原因で起こる動作を遅らせるためには、"Done"ボタンを追加する必要があるかもしれません。リストボックスは、シングルクリックとダブルクリックを区別し、リストボックスのCallbackプロパティを評価する前に、FigureのSelectionTypeプロパティをnormal、または、openに設定します。

ポップアップメニューは、押したときに(String プロパティを使って定義した)選択可能な動作のリストを表示します。動作していないときは、カレントの設定を示すテキストで1つのボタンを表示します。ポップアップメニューは、相互に同時に選択できない複数の動作を表示し、ラジオボタンが必要とするほどのスペースを取りたくないときに有効です。Stringプロパティの値を指定しなければなりません。

プッシュボタン は、押したときに、ある動作が行われます。プッシュボタンがアクティブにするには、プッシュボタン上でマウスボタンをクリックしてください。

ラジオボタンは、チェックボックスに似ていますが、ラジオボタンのグループ内で相互に選択できない複数の動作を示します(すなわち、ある時点で、ボタンが押された状態にあるのは1つだけです)。ラジオボタンを動作させるときは、オブジェクト上でマウスボタンをクリックしてください。デバイスの状態は、ディスプレイ上に示されます。ユーザは、ラジオボタンの相互に選択できない動作を作成できることに注意してください。

em>スライダは、スライダバーを動かすことで、ある範囲内での数値入力を可能にします。ユーザはマウスボタンを押して、バー上でマウスをドラッグするか、バーの途中または矢印上をクリックしてバーを動かします。バーの位置は、マウスボタンの解除で選択される数値を表わします。スライダの最小値、最大値、カレント値を設定することができます。

スタティックテキストは、テキスト行を表示するボックスです。他のコントロールのグループにラベル付けをしたり、ユーザへの指示を表示したり、スライダの値を表示したりするのに使います。ユーザは、対話的にはスタティックテキストを変更できません。スタティックテキストに関するコールバックルーチンを実行することはできません。

切り替えボタンは、クリックされたときにコールバックを実行し、それらの状態がonまたはoffであることを示します。トグルボタンは、ツールバーの構築に役立ちます。

注意

関数 uicontrolは、入力引数を、プロパティ名とプロパティ値の組合わせ、構造体、セル配列で指定でき、作成したオブジェクトのハンドル番号をオプションとして出力します。オブジェクトを作成した後で、setgetを使って、プロパティ値の設定や確認ができます。

Uicontrolオブジェクトは、Figureオブジェクトの子オブジェクトで、Figureウィンドウ内にあるときはAxesを必要としません。

プロパティ

つぎの表は、uicontrolのプロパティをまとめたものです。プロパティ名は、詳細な説明にリンクされています。

プロパティ名
プロパティの詳細
プロパティ値
スタイルと外観の制御
BackgroundColor
オブジェクトのバックグラウドカラー
値: ColorSpec
デフォルト: システムに依存
CData
コントロール上に表示されるトォルーカラーイメージ
値: 行列
ForegroundColor
テキストのカラー
値: ColorSpec
デフォルト: [0 0 0]
SelectionHighlight
選択したときに、強調されるオブジェクト
値: on, off
デフォルト: on
String
Uicontrol ラベルで、リストボックスとポップアップメニューも含む
値: 文字列
Visible
Uicontrol の可視化
値: on, off
デフォルト: on
オブジェクトに関する一般的情報
Children
Uicontrolオブジェクトは、子オブジェクトをもちません

Enable
Uicontrolを使用可能または不可能にする
値: on, inactive, off
デフォルト: on
Parent
Uicontrol オブジェクトの親
値: スカラのフィギュアハンドル番号
Selected
オブジェクトが選択されているか否か
値: on, off
デフォルト: off
SliderStep
スライダのステップサイズ
値: 2要素ベクトル
デフォルト: [0.01 0.1]
Style
uicontrol オブジェクトのタイプ
値: pushbutton, togglebutton, radiobutton, checkbox, edit, text, slider, frame, listbox, popupmenu
デフォルト: pushbutton
Tag
ユーザ指定のオブジェクト識別子
値: 文字列
TooltipString
オブジェクトのツールチップの内容
値: 文字列
Type
グラフィックオブジェクトのクラス
値: 文字列 (参照のむ)
デフォルト: uicontrol
UserData
ユーザ指定のデータ
値: 行列
オブジェクトの位置の制御
Position
Uicontrolオブジェクトのサイズと位置
値: 位置を表わす長方形
デフォルト: [20 20 60 20]
Units
position ベクトルの単位
値: pixels, normalized, inches, centimeters, points, characters
デフォルト: pixels
フォントとラベルの制御
FontAngle
キャラクタの傾斜
値: normal, italic, oblique
デフォルト: normal
FontName
フォントファミリ
値: 文字列
デフォルト: システムに依存
FontSize
フォントサイズ
値: FontUnits でのサイズ
デフォルト: システムに依存
FontUnits
フォントサイズの単位
値: points, normalized, inches, centimeters, pixels
デフォルト: points
FontWeight
テキストキャラクタの太さ
値: light, normal, demi, bold
デフォルト: normal
HorizontalAlignment
ラベル文字列の位置の調整
値: left, center, right
デフォルト: uicontrol オブジェクトに依存
String
Uicontrolオブジェクトのラベルとリストボックスとポップアップメニューアイテムのラベル
値: 文字列
コールバックルーチンの実行の制御
BusyAction
コールバックルーチンの割り込み
値: cancel, queue
デフォルト: queue
ButtonDownFcn
ボタンを押したときに実行するコールバックルーチン
値: 文字列
Callback
コントロール動作
値: 文字列
CreateFcn
オブジェクトの作成時に実行されるコールバックルーチン
値: 文字列
DeleteFcn
オブジェクトの削除時に実行されるコールバックルーチン
値: 文字列
Interruptible
コールバックルーチンの割り込みモード
値: on, off
デフォルト: on
UIContextMenu
Uicontrolと関連するUicontextmenuオブジェクト
値: ハンドル
カレントの状態に関する情報
ListboxTop
リストボックスの一番植えの文字列のインデックス
値: スカラ
デフォルト: [1]
Max
最大値(Uicontrolオブジェクトにより異なる)
値: スカラ
デフォルト: オブジェクトに依存
Min
最小値(Uicontrolオブジェクトにより異なる)
値: スカラ
デフォルト: オブジェクトに依存
Value
uicontrol オブジェクトのカレント値
値: スカラ、または、ベクトル
デフォルト: オブジェクトに依存
オブジェクトへのアクセスの制御
HandleVisibility
コマンドラインやGUIからハンドルがアクセス可能であるかどうか
値: on, callback, off
デフォルト: on
HitTest
マウスクリックにより選択可能かどうか
値: on, off
デフォルト: on

例題

つぎのステートメントは、ボタンを押すとカレントの軸を消去するプッシュボタンを作成します。

ポップアップメニューを指定し、オブジェクトのCallbackとしてM-ファイル名を与えることで、Figureのカラーマップを変更するUicontrolオブジェクトを作成することができます。

これは、メニュー内に4つの選択(hsv, hot, cool,gray)を定義します。 Stringプロパティを使って、"|" で区切りながらこれらの選択を指定します。

この場合のsetmapであるCallbackは、M-ファイル名で、単一のMATLABコマンドではなく、より複雑なコマンドの集合を定義します。setmapは、つぎのステートメントを含みます。

Value プロパティは、どれを選択しているかを示す数値を含みます。選択肢には、1から4までの番号が付けられます。M-ファイルsetmapは、それらを受け取り、どんな動作を実行するかを決定するために、Valueプロパティの内容を調べます。

オブジェクトの階層構造

参考

textwrap, uimenu


 uicontextmenu Properties Uicontrol Properties