4D View v14PV ON EVENT |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D View v14
PV ON EVENT
|
PV ON EVENT ( area ; event ; method ) | ||||||||
引数 | 型 | 説明 | ||||||
area | 倍長整数 |
![]() |
4D View エリア | |||||
event | 倍長整数 |
![]() |
4D View イベント | |||||
method | 文字 |
![]() |
メソッド名 | |||||
PV ON EVENTコマンドは、method を4D Viewのeventに関連付けるために使用します。eventが発生するたびに、method が実行されます。
引数eventの指定には、PV Eventテーマの定数を使用します。
呼び出されたメソッドは6 つの倍長整数タイプの引数を受け取り、$0 にブール値を返します:
$1: 4D View エリアの参照
$2: イベント
$3: モディファイアキーのコード
$4: カラム番号
$5: 行番号
$6: キーのAscii コード(イベントがクリック、右クリック、またはダブルクリックである場合、$6 には0 が代入されます)
$3には以下の値のうちいずれかが設定されます (複数のキーが押された場合には、これらの値を加算されます):
0 | なし |
512 | Shiftキー |
2048 | Altキー |
4096 | Ctrlキー (Windows) / Commandキー (Mac OS). |
$0 がTrueの場合、event は考慮されません。
$0 がFalseの場合、event が考慮されます。
Note: データベースをコンパイルする予定であれば、いずれかの引数を使用しない場合でも、$0 をブール、$1~$6 を倍長整数として宣言しなくてはなりません。
area が0の場合、PV ON EVENTコマンドは新たに作成されたすべての4D Viewエリアに対して適用されます。この場合、データベースが開かれる際に実行されるOn Startupデータベースメソッドで、このコマンドを使用することをお勧めします。
イベントメソッドを削除するには、method引数に空の文字列を渡した上でPV ON EVENTコマンドを呼び出します。
PV VALIDATE CURRENT CELL, PV GET PREVIOUS ACTIVE CELL, PV GET CELL FIELD, PV Get on event method, PV SAVE DOCUMENT コマンドの例題参照
ユーザーはヘッダーをクリックして並び替えを行います。PM_Eventメソッドを使用してどの列がソートされたか、およびソート順を取得します。
`pv on column sort イベントで呼び出されるメソッドをインストール
PV ON EVENT(area;pv on column sort;"PM_Event")
`PM_Event メソッド
C_BOOLEAN($0)
C_LONGINT($1;$2;$3;$4;$5;$6)
C_STRING(12;$SortOrder)
If($2=pv on column sort)
Case of
:($6=pv ascending sort)
$SortOrder:="昇順"
:($6=pv descending sort)
$SortOrder:="降順"
End case
ALERT("並び替えは列"+String($4)+"で"+$SortOrder+"順に行われました。")
End if
列ヘッダをダブルクリックすると列がリサイズされます。しかしダブルクリックは2つのイベント、pv on clickedそのあとpv on double clickedを連続して生成します。
結果として、並び替えがPV SET AREA PROPERTYの呼び出しで許可されているとき、ヘッダをダブルクリックするとまず列がソートされ、そしてリサイズが行われます。ダブルクリックの場合にリサイズのみを行わせたい場合は、pv on clickedイベントを捕捉して処理をさせないようにしなければなりません。これを行うには、pv on clicked イベント生成時に実行されるメソッドをインストールします:
`pv on clickedイベントで呼び出されるメソッドをインストール
PV ON EVENT(area;pv on clicked;"PM_Event")
`PM_Event メソッド
C_BOOLEAN($0)
C_LONGINT($1;$2;$3;$4;$5;$6)
If($2=pv on clicked)
$0:=True `イベントは無視され、ソートは行われない
End if
プロダクト: 4D View
テーマ: PVエリア
番号:
15994
変更: 4D View 2004.1
4D View ( 4D View v11.4)
4D View ( 4D View v12)
4D View ( 4D v13)
4D View ( 4D View v14 R2)
4D View ( 4D View v14)
4D View ( 4D View v14 R3)
4D View ( 4D View v14 R4)