Q48:テーブルにおいて、セル上で左クリックをするとそのセルが選択された状態になりますが、右クリックでもセルを選択することは出来ないでしょうか?
Q48-1:
なぜ右クリックで選択したいのかというと、データが表示されたテーブルにおいて、右クリックをした行についてのポップアップメニューを表示したいためです。現状のプログラムでは一度左クリックで行を選択した後に右クリックをする必要があるため操作性が悪いです。
A48-1:
[テーブル]上で右クリックし、選択状態にする場合にはメソッド
「getRwoIndexByLocationY(int)」
「getColumnIndexByLocationX(int)」
と[マウスボタンイベントフィルタ]とを組み合わせると、実現できるかと存じます。
動作確認のため、簡単なサンプルを作成しましたので、宜しければご参照下さい。
[マウスボタンイベントフィルタ]については¥MZPlatform¥2.4¥AP_DATA¥Sampleフォルダ内にサンプルがございます。簡単な説明文書もございますので、ご参照下さい。
なお大変申し訳ございませんが、[テーブル]の形状によっては[ポップアップメニュー]の表示位置に関して更に調整が必要な場合があり、現在チーム内で検討しております。年明けになってしまうかと存じますが、再度ご連絡いたします。
関連ファイル:テーブル右選択.mzax
Q48-2:
ご回答ありがとうございます。
> [テーブル]上で右クリックし、選択状態にする場合にはメソッド
> 「getRwoIndexByLocationY(int)」
> 「getColumnIndexByLocationX(int)」
> と[マウスボタンイベントフィルタ]とを組み合わせると、実現できるかと存じます。
> 動作確認のため、簡単なサンプルを作成しましたので、宜しければご参照下さい。
→サンプルからテーブル上での右クリックから選択する方法を理解しました。
[マウスボタンイベントフィルタ]を利用すれば可能かなとは思っていましたが、詰めが甘かったです。なにぶんテーブルコンポーネントにはメソッド数が多いので・・・
> なお大変申し訳ございませんが、[テーブル]の形状によっては[ポップアップメニュー]の表示位置に関して更に調整が必要な場合があり、現在チーム内で検討しております。年明けになってしまうかと存じますが、再度ご連絡いたします。
→おそらくスクロールバーが表示されているときの挙動だと思いますが、この問題について私は認識していませんでした。解決方法を教えていただけると非常に助かります。