QuickWin 関数:ユーザーからの指定したマウス入力を待ちます。
モジュール:USE DFLIB
形式
result = WAITONMOUSEEVENT (mouseevents, keystate, x, y)
mouseevents
(入力) INTEGER(4)。関数が返される前に発生しなければならない複数のマウス・イベント。マウス・イベントに対するシンボル定数 (\DF98\INCLUDE サブディレクトリの DFLIB.F90 に定義) は,以下のとおりです。
MOUSE$LBUTTONDOWN - 左マウス・ボタンが押された。
MOUSE$LBUTTONUP - 左マウス・ボタンが離された。
MOUSE$LBUTTONDBLCLK - 左マウス・ボタンがダブルクリックされた。
MOUSE$RBUTTONDOWN - 右マウス・ボタンが押された。
MOUSE$RBUTTONUP - 右マウス・ボタンが離された。
MOUSE$RBUTTONDBLCLK - 右マウス・ボタンがダブルクリックされた。
MOUSE$MOVE - マウスが移動された。
keystate
(出力) INTEGER(4)。イベント発生時点でのマウス状態のビット単位の包含的 OR。keystate に返される値は,以下のシンボル定数のどれかかすべてです。
MOUSE$KS_LBUTTON - イベント発生時点で左マウス・ボタンが押された。
MOUSE$KS_RBUTTON - イベント発生時点で右マウス・ボタンが押された。
MOUSE$KS_SHIFT - イベント発生時点で Shift キーが押され続けていた。
MOUSE$KS_CONTROL - イベント発生時点で CTRL キーが押され続けていた。
x
(出力) INTEGER(4)。イベントが発生した時のマウスの X 位置。
y
(出力) INTEGER(4)。イベントが発生した時のマウスの Y 位置。
結果
結果の型は INTEGER(4) です。成功すれば,結果は発生したマウス・イベントに関連したシンボル定数です。関数が失敗した場合,定数 MOUSE$BADEVENT が返されます。これは,指定したイベントがサポートされていないことを意味しています。
ユーザーが指定したマウス・イベントを発生しない限り,WAITONMOUSEEVENT は返りません。マウス・イベントが発生するのを待っている間,ステイタスバーは "Mouse input pending in XXX" に変更されています。ここで XXX はウィンドウ名です。マウス・イベントが発生すると,ステイタスバーは以前の値に戻ります。
マウス・イベントは,WAITONMOUSEEVENT が最初に呼び出された時にフォーカスを持っていたウィンドウで発生しなければなりません。他のウィンドウでのマウス・イベントは,待ちを終了させません。コールバックが以前に他のウィンドウに対して登録されていた場合,他のウィンドウのマウス・イベントは他のウィンドウに対するコールバックの呼び出しを引き起こします。
BUTTONDOWN または BUTTONDBLCLK イベント毎に,関連した BUTTONUP イベントがあります。ユーザーがダブルクリックした場合,4 つのイベントが発生します。第 1 クリックで BUTTONDOWN と BUTTONUP,第 2 クリックで BUTTONDBLCLK と BUTTONUP が発生します。第 2 クリックで BUTTONDBLCLK と BUTTONDOWN を得ることとの違いは,第 2 クリックがダブルクリック間隔内で発生したかどうかに依存します。ダブルクリック間隔は,「システム」の「コントロール パネル」の「マウス」で設定します。
互換性
QUICKWIN GRAPHICS LIB
関連情報