App Designer の UITable コンポーネントでは、​右クリック時にマウス​下のセルの行・列イン​デックス取得や列ごと​に異なるコンテキスト​メニューの表示は可能​でしょうか?

6 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2025 年 8 月 19 日
回答済み: MathWorks Support Team 2025 年 8 月 19 日

現在、MATLAB App DesignerのUITable(ユーアイテーブル)コンポーネントでは、ユーザーがテーブル上で右クリックした際に、マウスポインタの下にあるセルの行や列のインデックス(位置情報)を取得する標準的な方法が提供されていません。また、右クリックしたセルの列によって異なる内容のコンテキストメニュー(右クリックメニュー)を表示する機能も、組み込みでサポートされていません。

採用された回答

MathWorks Support Team
MathWorks Support Team 2025 年 8 月 19 日
R2023b以降の新機能について
MATLAB R2023bリリース以降、ContextMenuOpeningFcnというコールバック関数のイベントデータが拡張され、右クリックされたコンポーネントの詳細な情報を取得できるようになりました。
特に、UITableコンポーネントの場合、この新しいイベントデータを利用することで、どの行・列・セルが右クリックされたかを特定し、それに応じて表示するコンテキストメニューの内容を動的に変更できます。
具体的な利用方法:
  1. R2023b以上へのアップグレード
    この機能を利用するには、MATLABをR2023b以降のバージョンにアップグレードする必要があります。
  2. イベントデータの活用
ContextMenuOpeningFcnのイベントデータには、InteractionInformationという構造体が含まれており、ここから右クリックされたセルの行・列インデックスなどの情報を取得できます。
  • 動的なメニューの変更
  • 取得した行・列の情報をもとに、表示するコンテキストメニュー(uicontextmenu)の内容を動的に変更することで、列や行ごとに異なるメニューを実現できます。
    補足:
    • コンテキストメニューのカスタマイズ方法やイベントデータの詳細は、MATLAB公式ドキュメントをご参照ください。

    その他の回答 (0 件)

    カテゴリ

    Help Center および File Exchange対話型コントロールとコールバック についてさらに検索

    タグ

    タグが未入力です。

    Community Treasure Hunt

    Find the treasures in MATLAB Central and discover how the community can help you!

    Start Hunting!