Q61:@マウスダブルクリックのイベント制御(そのときの選択行を処理させたい)。AReturnキー押下のイベント制御(そのときの選択行を処理させたい)。
Q61-1:
(1) テーブル操作1
テーブルコンポーネントで、マウスダブルクリックのイベント制御(そのときの選択行を処理させたい。)は可能でしょうか。
(2) テーブル操作2
同じく、テーブルコンポーネントで、Returnキー押下のイベント制御(そのときの選択行を処理させたい。)は可能でしょうか。
A61-1:
(1)テーブルコンポーネントで、マウスダブルクリックのイベント制御
a)セル以外の部分をダブルクリックする:
[マウスボタンイベントフィルタ]にアプリケーション開始時等、適当なタイミングで「イベントフィルタを追加する(int,int,int,int,int)」を実行します。[マウスボタンイベントフィルタ]からイベント種別や、ボタン種別を取得できるので、それらを引数に利用できます。
[テーブル]の「マウスボタンイベント」に「イベントを通知する(PFMouseButtonEvent)」を接続します。
[マウスボタンイベントフィルタ]の「マウスボタンイベント」に目的の処理を接続します。
b)セルをダブルクリックする:
セルを一度左ボタンクリックした時点で、セルは選択状態になり、「データ選択イベント」が発生します。左ダブルクリックすると、編集状態となります。
左クリックではマウスボタンイベントは発生せず、代わりに「データ選択イベント」で対応して頂くことになるかと存じます。
右ボタンクリック、中ボタンクリックでは、上記a)の[マウスボタンイベントフィルタ]の処理と同様になります。
(2) テーブルコンポーネントで、Returnキー押下のイベント制御
c)セルが選択されていない時:
[Enter]キーを押しても[テーブル]からは何もイベント等発生しません。
d)シングルクリックでセルが選択状態の時:
[Enter]キーを押すと次のセルに選択が移動します。「データ選択イベント」が発生し、移動後のセルの選択位置が「選択行の位置を取得する()」等で取得できます。
e)ダブルクリックでセルが編集状態の時:
[Enter]キーを押すとセルに入力されている値が確定状態になり、「データ更新イベント」が発生します。セル選択位置は変わりません。