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

5 vues (au cours des 30 derniers jours)
MathWorks Support Team
MathWorks Support Team le 19 Août 2025

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

Réponse acceptée

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

    Plus de réponses (0)

    Catégories

    En savoir plus sur 対話型コントロールとコールバック dans Help Center et File Exchange

    Tags

    Aucun tag saisi pour le moment.

    Community Treasure Hunt

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

    Start Hunting!