4D View v14PV SET DRAG SIGNATURES |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D View v14
PV SET DRAG SIGNATURES
|
PV SET DRAG SIGNATURES ( area ; signatures ) | ||||||||
引数 | 型 | 説明 | ||||||
area | 倍長整数 |
![]() |
4D View エリア | |||||
signatures | 文字配列 |
![]() |
署名の配列 | |||||
PV SET DRAG SIGNATURESコマンドは、配列signatures の内容をareaの“ドラッグ”署名として設定します。
署名は英数字の文字列で、その内容は自由に指定することができます。最長で32 桁までの署名を設定できます。
PV SET AREA PROPERTYコマンドにより定義されるエリアのプロパティを使用して、4D View のドラッグ&ドロップに関するオプションを指定することができます:
ドラッグ&ドロップが許可されると、ソースエリアのドラッグとターゲットエリアのドロップに対して共通する署名が少なくとも1 つはエリアに存在する場合に、2 つのエリア間(または同一のエリア)でのやり取りを行うことができます。
ドラッグ&ドロップイベントに関しては、PV ON EVENTコマンドを使用して、このイベントを検出することができます。
次の例題では、2 つの4D View エリア間のドラッグ&ドロップについて説明しています。まずはじめに署名およびこれらのエリアの動作(例えばフォームの変更時)を設定します。:
ARRAY TEXT($DDSignatureArray;1)
$DDSignatureArray{1}:="Signature_1"
PV SET AREA PROPERTY(SourceArea;pv drag trigger;pv trigger on alt click) `alt-clickでドラッグ
PV SET AREA PROPERTY(SourceArea;pv drag allowed;pv DD multiple cells)
PV ON EVENT(SourceArea;pv on drag;"DragDropMethod")
PV SET DRAG SIGNATURES(SourceArea;$DDSignatureArray)
PV SET AREA PROPERTY(TargetArea;pv drop allowed;pv DD single cell+pv DD adjacent cells+pv DD multiple cells)
PV SET AREA PROPERTY(TargetArea;pv drop mode;pv drop replace only)
PV ON EVENT(TargetArea;pv on drop;"DragDropMethod")
PV SET DROP SIGNATURES(TargetArea;$DDSignatureArray) `ドラッグと同じ署名
alt キー+ クリックを使用してドラッグが実行されるか、またはターゲットエリア上でドロップが行われた場合に、プロジェクトメソッドDragDropMethodが呼び出されます:
C_LONGINT($1) `4D View 参照エリア
C_LONGINT($2) `イベント
C_LONGINT($3) `キーボードモディファイアキーのコード
C_LONGINT($4) `列番号
C_LONGINT($5) `行番号
C_LONGINT($6) `キーのASCII コード
C_POINTER(SourceAreaPointer;TargetAreaPointer) `2 度のコールバックメソッドの間で保持しておく場所がない
C_BLOB($blob) `一時的なドラッグ&ドロップノートパッド
C_LONGINT($currentColumn;$currentRow) `カレントセルの座標
C_LONGINT($destinationColumn;$destinationRow) `ドロップが行われるセルの座標
Case of
:($2=pv on drag)
PV GET DRAG SOURCE($1;SourceAreaPointer) `移動元は?
:($2=pv on drop)
PV GET DROP TARGET($1;TargetAreaPointer) `移動先は?
$blob:=PV Copy to blob(SourceAreaPointer->) `ノートパッドにコピー
$destinationColumn:=PV Get drop info(TargetAreaPointer->;pv drop column)
`コピー先....
$destinationRow:=PV Get drop info(TargetAreaPointer->;pv drop row) `...coordinates
PV GET CURRENT CELL(TargetAreaPointer->;$currentColumn;$currentRow)
`指定されたエリアにペースト
PV GOTO CELL(TargetAreaPointer->;$destinationColumn;$destinationRow)
PV PASTE FROM BLOB(TargetAreaPointer->;$blob;1;1;1;1)
`処理が終了したら、カレントセルを再設定する
PV GOTO CELL(TargetAreaPointer->;$currentColumn;$currentRow)
End case
プロダクト: 4D View
テーマ: PVドラッグアンドドロップ
番号:
15935
初出: 4D View 6.8
PV GET DRAG SIGNATURES
PV SET DROP SIGNATURES
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)