主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

菜单のプロパティ

数字ベースのアプリ内でのコントロールメニューの外観と動作

ここでは,指导または関数数字で作成されたアプリのメニューに対して有効なプロパティを紹介しています。程序设计师または関数uifigureを使用する場合は。”菜单のプロパティ“を参照してください。詳細については,指导の移行策を参照してください。

アプリウィンドウの最上部のメニューにオプションのドロップダウンリストが表示されます。メニューを作成したり,既存のメニューにサブメニューを追加するには,関数uimenuを呼び出します。プロパティは、メニューの外観と動作を制御します。ドット表記を使用して、特定のオブジェクトとプロパティを参照します。

f =图;m = uimenu (f);m.Text = '打开选区';

メニュー

すべて展開する

メニューラベル。文字ベクトルまたは字符串スカラーとして指定します。このプロパティはメニュー(またはメニュー項目)に表示されるラベルを指定します。

予約語“默认”、“删除”および“工厂”(大文字小文字が区別されます)は使用できません。予約語を使用しなければならない場合は,その単語の前にバックスラッシュ文字を指定します。“默认”はたとえば“\违约”として指定します。

ラベルのテキストにアンパサンド文字(&)を使用して,ニーモニックのキーボードショートカット(Alt +助记符)を指定できます。Altを押すと,メニューにはアンパサンドの次に来る文字が下線付きで表示されます。メニュー項目はAltキーを押したまま表示される文字を入力すると選択できます。

ニーモニックを使用するには,アプリ内で定義するすべてのメニューおよびメニュー項目のニーモニックを指定しなければなりません。ニーモニックを一部のメニューまたはメニュー項目に対してのみ定義する場合は,Altキーを押しても効果はありません。ニーモニックはコンテキストメニュー内のメニューまたはメニュー項目には使用できません。

次の表にいくつか例を示します。

テキスト値 ニーモニックヒント付きメニューラベル
的状态选择

“O&pen选择”

并保存& &去的

キーボードショートカット。文字として指定します。このプロパティを使用して、メニュー項目を選択するキーボード ショートカットを定義します。

例:mitem。加速器= ' H '

アクセラレータの値を指定すると,ユーザーはマウスを使用する代わりに,文字と別のキーを押すことによってメニュー項目を選択できます。キーは,使用するプラットフォームに依存します。

  • 窗户®システム:Ctrl +加速器

  • 麦金塔电脑システム:命令+加速器

  • Linux®システム:Ctrl +加速器

アクセラレータを使用する際の注意事項

  • アクセラレータのキーシーケンスを入力する場合,アプリウィンドウはフォーカス内になければなりません。

  • アクセラレータは最上位メニューで使用できません。

  • アクセラレータはメニュー項目が次のすべての条件を満たす場合にのみ機能します。

    • サブメニュー項目が含まれていない。

    • コールバック関数を実行する。

    • 可见プロパティが“上”に設定されている。

メニュー項目がコンテキストメニュー内で入れ子になっている場合,アクセラレータはコンテキストメニューにフォーカスがあるときにのみ機能します。

メニュー項目の上の区切り線。“关闭”または“上”,もしくは数値または逻辑1真正的)または0)として指定します。“上”の値は真正的と等価であり,“关闭”と等価です。したがって,このプロパティの値を逻辑値として使用できます。値はmatlab.lang.OnOffSwitchState型の开/关逻辑値として格納されます。

このプロパティを“上”に設定すると,メニュー項目の上に境界線が描画されます。

メモ

メニュー項目が最上位メニュー項目の場合,分隔符プロパティは無視されます。

メニューチェックインジケーター。“关闭”または“上”,もしくは数値または逻辑1真正的)または0)として指定します。“上”の値は真正的と等価であり,“关闭”と等価です。したがって,このプロパティの値を逻辑値として使用できます。値はmatlab.lang.OnOffSwitchState型の开/关逻辑値として格納されます。

このプロパティを“上”に設定するには,対応するメニュー項目の次にチェックマークを付けます。“关闭”に設定すると,チェックマークが外されます。この機能を使用すると,アプリケーションの機能を有効または無効にするメニュー項目の状態を表示できます。

メモ

メニュー項目が次の場合,检查プロパティは無視されます。

  • 最上位メニュー項目

  • 1つ以上の子メニュー項目をもつメニュー項目

メニューラベルの色。RGB 3成分、16 進数カラー コード、または表にリストされた色オプションのいずれかとして指定します。

RGB 3成分および16進数カラーコードは,カスタム色を指定するのに役立ちます。

  • RGB 3成分は,色の赤,緑,青成分の強度を指定する3成分の行ベクトルです。強度値は[0,1]の範囲でなければなりません。たとえば(0.4 0.6 0.7)のようになります。

  • 16進数カラーコードは,ハッシュ記号()で始まり3桁または6桁の0からFまでの範囲の16進数が続く文字ベクトルまたは字符串スカラーです。これらの値では大文字小文字は区別されません。したがって,カラーコード“# FF8800”“# ff8800”“# F80”,および“# f80”は等価です。

あるいは,名前を使用して一部の一般的な色を指定できます。次の表に,名前の付いた色オプション,等価のRGB 3成分,および16進数カラーコードを示します。

色名 省略名 RGB 3成分 16進数カラーコード 外観
“红色” “r” (1 0 0) “# FF0000”

“绿色” ‘g’ (0 1 0) “# 00 ff00”

“蓝” “b” (0 0 1) “# 0000 ff”

“青色” “c” (0 1 1) “# 00飞行符”

“红色” “米” (1 0 1) “#就”

“黄色” “y” (1 1 0) “# FFFF00”

“黑” “k” (0 0 0) # 000000的

“白色” ' w ' (1 1 1) “# FFFFFF”

MATLAB®の多くのタイプのプロットで使用されている既定の色のRGB 3成分および16進数カラーコードを次に示します。

RGB 3成分 16進数カラーコード 外観
[0 0.4470 - 0.7410) “# 0072 bd”

(0.8500 0.3250 0.0980) “# D95319”

(0.9290 0.6940 0.1250) “# EDB120”

(0.4940 0.1840 0.5560) “# 7 e2f8e”

(0.4660 0.6740 0.1880) “# 77 ac30”

(0.3010 0.7450 0.9330) “# 4 dbeee”

(0.6350 0.0780 0.1840) “# A2142F”

メニューラベル。文字ベクトルまたは字符串スカラーとして指定します。このプロパティはメニュー(またはメニュー項目)に表示されるラベルを指定します。

メモ

标签プロパティの使用は推奨されていません。将来のリリースで削除される可能性があります。代わりに,文本プロパティを使用してください。

相対的なメニューの位置。スカラー整数値として指定します。位置プロパティの値は,メニューバー上の位置またはメニュー内での位置を示します。最上位レベルメニューはメニューバー上で左から右に,位置プロパティ値に従って表示されます。ここで,1は左端の位置です。メニュー内の個々の項目は上から下に、位置プロパティ値に従って表示されます。ここで,1は最上部の位置です。

メモ

位置プロパティの使用は推奨されていません。将来のリリースで削除される可能性があります。メニュー項目の順序を変更するには,代わりに孩子们プロパティまたは関数uistackを使用してください。

対話機能

すべて展開する

可視性の状態。“上”または“关闭”,もしくは数値または逻辑1真正的)または0)として指定します。“上”の値は真正的と等価であり,“关闭”と等価です。したがって,このプロパティの値を逻辑値として使用できます。値はmatlab.lang.OnOffSwitchState型の开/关逻辑値として格納されます。

  • “上”——オブジェクトを表示します。

  • “关闭”——オブジェクトを削除せずに非表示にします。非表示のUIコンポーネントのプロパティには引き続きアクセスできます。

アプリの起動を高速化するには,起動時に表示する必要のないすべてのUIコンポーネントの可见プロパティを“关闭”に設定します。

操作可能状態。“上”または“关闭”,もしくは数値または逻辑1真正的)または0)として指定します。“上”の値は真正的と等価であり,“关闭”と等価です。したがって,このプロパティの値を逻辑値として使用できます。値はmatlab.lang.OnOffSwitchState型の开/关逻辑値として格納されます。

  • このプロパティを“上”に設定した場合,アプリユーザーはコンポーネントを操作できます。

  • このプロパティを“关闭”に設定した場合,コンポーネントはグレー表示されます。これは,アプリユーザーがコンポーネントを操作することができず,コンポーネントはコールバックをトリガーしないことを示します。

このプロパティを設定してもこのタイプのオブジェクトには影響しません。

コールバック

すべて展開する

メニュー選択コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである细胞配列。细胞配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効なMATLAB式を含む文字ベクトル(非推奨)。MATLABは,この式をベース ワークスペースで評価します。

コールバックのプロパティ値を関数ハンドル,细胞配列または文字ベクトルとして指定する方法の詳細については,コールバックプロパティ値の指定方法を参照してください。

このコールバックは,メニュー項目の位置および操作のタイプに応じて応答します。

  • メニューを左クリックすると,メニューが展開し,そのコールバックがトリガーされます。

  • いずれかのメニューが展開しているときに他の親メニュー(または最上位メニュー)にカーソルを合わせると,そのメニューが展開し,そのコールバックがトリガーされます。

メモ

メニュー項目を動的に変更するためにコールバックを使用しないでください。コールバックでメニュー項目の削除、追加、および置き換えを行うと、メニューが空白になることがあります。代わりに、可见プロパティを使用してメニュー項目の非表示と表示を設定します。また,启用プロパティを設定してメニュー項目の有効化や無効化を行うこともできます。メニュー項目を完全に埋めるには、これらの項目を削除して、コールバックの外部に作成してください。

コンポーネント作成関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである细胞配列。细胞配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効なMATLAB式を含む文字ベクトル(非推奨)。MATLABは,この式をベース ワークスペースで評価します。

コールバックのプロパティ値を関数ハンドル,细胞配列または文字ベクトルとして指定する方法の詳細については,コールバックプロパティ値の指定方法を参照してください。

このプロパティは,MATLABがコンポーネントを作成するときに実行されるコールバック関数を指定します。MATLABはCreateFcnコールバックを実行する前に,コンポーネントのすべてのプロパティ値を初期化します。CreateFcnプロパティを指定しない場合,MATLABは既定の作成関数を実行します。

作成中のコンポーネントオブジェクトを取得するには,CreateFcnコード内で関数gcboを使用します。

既存のコンポーネントオブジェクトにCreateFcnプロパティを設定しても効果はありません。

コンポーネント削除関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである细胞配列。细胞配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効なMATLAB式を含む文字ベクトル(非推奨)。MATLABは,この式をベース ワークスペースで評価します。

コールバックのプロパティ値を関数ハンドル,细胞配列または文字ベクトルとして指定する方法の詳細については,コールバックプロパティ値の指定方法を参照してください。

DeleteFcnプロパティは,MATLABがコンポーネントを削除するときに実行されるコールバック関数を指定します(ユーザーがウィンドウを閉じるときなど)。MATLABはコンポーネントオブジェクトのプロパティを破棄する前にDeleteFcnコールバックを実行します。DeleteFcnプロパティを指定しない場合,MATLABは既定の削除関数を実行します。

削除中のコンポーネントオブジェクトを取得するには,DeleteFcnコード内で関数gcboを使用します。

メニュー選択コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである细胞配列。细胞配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効なMATLAB式を含む文字ベクトル(非推奨)。MATLABは,この式をベース ワークスペースで評価します。

メモ

回调プロパティの使用は推奨されていません。将来のリリースで削除される可能性があります。代わりにMenuSelectedFcnを使用してください。

コールバック実行制御

すべて展開する

コールバックの割り込み。“上”または“关闭”,もしくは数値または逻辑1真正的)または0)として指定します。“上”の値は真正的と等価であり,“关闭”と等価です。したがって,このプロパティの値を逻辑値として使用できます。値はmatlab.lang.OnOffSwitchState型の开/关逻辑値として格納されます。

可中断プロパティは実行中のコールバックが割り込み可能かどうかを決定します。2次のつのコールバックの状態について考慮する必要があります。

  • "実行中"コールバックは,現在実行しているコールバックです。

  • “割り込み”コールバックは,実行中のコールバックに割り込もうとするコールバックです。

MATLABがコールバックを呼び出すたびに,そのコールバックは実行中のコールバック(がある場合)に割り込もうとします。実行中のコールバックを所有するオブジェクトの可中断プロパティが,割り込み可能かどうかを決定します。

  • 値が“上”の場合,他のコールバックがオブジェクトのコールバックに割り込むことができます。drawnow数字getframe等待暂停などの,MATLABが次にキューを処理するポイントで割り込みが発生します。

    • 実行中のコールバックにこれらいずれかのコマンドが含まれている場合,MATLABはその場所でコールバックの実行を停止し,割り込みコールバックを実行します。割り込みコールバックが完了したときにMATLABは実行中だったコールバックの実行を再開します。

    • 実行中のコールバックにこれらのコマンドが含まれていない場合,MATLABはそのコールバックの実行を中断せずに終了させます。

  • 値が“关闭”の場合,割り込みの試行はすべてブロックされます。割り込みコールバックを所有するオブジェクトのBusyActionプロパティが,その割り込みコールバックを破棄するかキューに入れるかを決定します。

メモ

コールバックの割り込みと実行は,以下の状況では動作が異なります。

  • 割り込みコールバックがDeleteFcnCloseRequestFcnまたはSizeChangedFcnコールバックの場合,可中断プロパティの値にかかわらず割り込みが発生します。

  • 実行中のコールバックが関数等待を現在実行している場合,可中断プロパティの値にかかわらず割り込みが発生します。

  • 计时器オブジェクトは,可中断プロパティ値にかかわらず,スケジュールに従って実行されます。

  • MATLABは,割り込みが発生したときにプロパティの状態や表示を保存しません。たとえば,gcaコマンドやgcfコマンドから返されたオブジェクトは,別のコールバックを実行するときに変更されている可能性があります。

可中断プロパティおよびBusyActionプロパティがプログラムの動作に及ぼす影響を示す例は,コールバック実行の中断を参照してください。

コールバックキューイング。“队列”(既定値)または“取消”として指定します。BusyActionプロパティはMATLABによる割り込みコールバックの実行の処理方法を決定します。2次のつのコールバックの状態について考慮する必要があります。

  • "実行中"コールバックは,現在実行しているコールバックです。

  • “割り込み”コールバックは,実行中のコールバックに割り込もうとするコールバックです。

割り込みコールバックの割り込み元のBusyActionプロパティは,MATLABが割り込みコールバックの実行を処理する方法を決定します。BusyActionプロパティは次の値をとります。

  • “队列”——割り込みコールバックをキューに入れ,実行中のコールバックが終了した後に処理されるようにします。

  • “取消”——割り込みコールバックを実行しません。

MATLABがコールバックを呼び出すたびに,そのコールバックは実行中のコールバックに割り込もうとします。コールバックを実行中のオブジェクトの可中断プロパティが,割り込み可能かどうかを決定します。可中断は次のように設定します。

  • ——MATLABが次にキューを処理するポイントで割り込みが発生します。これは既定値です。

  • ——割り込みコールバックを所有するオブジェクトのBusyActionプロパティによって,MATLABが割り込みコールバックをキューに追加するか無視するかを決定します。

BusyActionプロパティおよび可中断プロパティがプログラムの動作に及ぼす影響を示す例は,コールバック実行の中断を参照してください。

このプロパティは読み取り専用です。

削除状態。matlab.lang.OnOffSwitchState型の开/关逻辑値として返されます。

MATLABは,DeleteFcnコールバックが実行を開始すると,BeingDeletedプロパティを“上”に設定します。コンポーネントオブジェクトが存在しなくなるまでBeingDeletedプロパティは“上”に設定されたままです。

クエリや変更の前にオブジェクトが削除されようとしていないか確認するためにBeingDeletedプロパティの値をチェックします。

このプロパティは,このタイプのオブジェクトに影響しません。

親/子

すべて展開する

このプロパティは読み取り専用です。

親オブジェクト。数字快捷菜单または菜单オブジェクトとして指定します。このプロパティを設定することで、メニュー項目を別のウィンドウまたは別のメニューに移動できます。

メニューの子。空のGraphicsPlaceholderまたは菜单オブジェクトの1次元配列として返されます。メニューの子は、サブメニューとして機能するその他のメニューです。

孩子们プロパティを使用して子の追加や削除を行うことはできません。このプロパティは,子のリストの表示や子メニュー項目の並べ替えに使用します。この配列内の子の順序は,表示されるメニュー項目の順序を反映します。

このリストに子を追加するには,子コンポーネントのプロパティをこの菜单オブジェクトに設定します。

HandleVisibilityプロパティが“关闭”に設定されているオブジェクトは孩子们プロパティにリストされません。

オブジェクトハンドルの可視性。“上”“回调”または“关闭”として指定します。

このプロパティは,オブジェクトの親がもつ子のリストにおけるそのオブジェクトハンドルの可視性を制御します。ハンドルがその親オブジェクトのリストで,子として可視できないとき,オブジェクトの階層を検索したり,ハンドルのプロパティをクエリしてハンドルを取得する関数は,ハンドルを返しません。このような関数には得到findobjgcagcfgconewplotclfおよび关闭があります。HandleVisibilityプロパティはまた,親图のCurrentObjectプロパティでオブジェクトのハンドルの可視性も制御します。ハンドルは非表示の場合も有効なままです。オブジェクトにアクセスできる場合は、そのプロパティを設定および取得して、それをオブジェクトに作用する任意の関数に渡すことができます。

HandleVisibilityの値 説明
“上” オブジェクトハンドルは常に表示されます。
“回调” オブジェクトハンドルはコールバック内から,あるいはコールバックにより呼び出される関数から参照できます。しかし,コマンドラインから呼び出される関数からは参照できません。このオプションを使用すると,コマンドラインからのオブジェクトへのアクセスがブロックされますが,コールバック関数からのアクセスは許可されます。
“关闭” オブジェクトハンドルは常に非表示です。このオプションは,他の関数によるUIの意図しない変更を防止するために役立ちます。HandleVisibility“关闭”に設定すると,その関数の実行中にハンドルが一時的に非表示になります。

グラフィックスルートのShowHiddenHandlesプロパティを“上”に設定すると,HandleVisibilityの値にかかわらず,すべてのハンドルを可視にできます。この設定は,HandleVisibility値には影響しません。

識別子

すべて展開する

このプロパティは読み取り専用です。

グラフィックスオブジェクトのタイプ。“uimenu”として返されます。

オブジェクト識別子。文字ベクトルまたは字符串スカラーとして指定します。オブジェクトの識別子として機能する一意の标签値を指定できます。コードの他の部分からオブジェクトにアクセスする必要がある場合,関数findobjを使用して标签値に基づいてオブジェクトを検索できます。

ユーザーデータ。任意の配列として指定します。用户数据を指定すると,アプリ内でデータを共有するのに役立ちます。詳細については,コールバック間のデータ共有を参照してください。

参考

R2006aより前に導入