4D View v16

PV SET DRAG SIGNATURES

ホーム

 
4D View v16
PV SET DRAG SIGNATURES

PV SET DRAG SIGNATURES 


 

PV SET DRAG SIGNATURES ( area ; signatures ) 
引数   説明
area  倍長整数 in 4D View エリア
signatures  文字配列 in 署名の配列

説明   

PV SET DRAG SIGNATURESコマンドは、配列signatures の内容をareaの“ドラッグ”署名として設定します。

署名は英数字の文字列で、その内容は自由に指定することができます。最長で32 桁までの署名を設定できます。

PV SET AREA PROPERTYコマンドにより定義されるエリアのプロパティを使用して、4D View のドラッグ&ドロップに関するオプションを指定することができます:

  • エリアに適用するドラッグ&ドロップのプロパティを定義するには、PV Area properties テーマ内の定数を使用します。
  • これら各種プロパティの値を定義するには、PV Drag drop allowed およびPV Drop modeテーマ内の定数を使用します。

ドラッグ&ドロップが許可されると、ソースエリアのドラッグとターゲットエリアのドロップに対して共通する署名が少なくとも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



参照 

PV GET DRAG SIGNATURES
PV SET DROP SIGNATURES

 
プロパティ 

プロダクト: 4D View
テーマ: PVドラッグアンドドロップ
番号: 15935

 
履歴 

初出: 4D View 6.8

 
ARTICLE USAGE

4D View ( 4D View v16)