4D v16.3

Drop position

ホーム

 
4D v16.3
Drop position

Drop position 


 

Drop position {( columnNumber | pictPosY )} -> 戻り値 
引数   説明
columnNumber | pictPosY  倍長整数 in リストボックス列番号 (ドロップ位置が最後の列を超えた場合-1)、または
ピクチャーの場合Y座標の位置
戻り値  倍長整数 in ・数値 (配列/リストボックス) または
・位置 (階層リスト) または
・ドロップ先項目の文字列中の位置 (テキスト/コンボボックス) または
・最後の配列要素やリスト項目を超えてドロップされた場合-1 または
・ピクチャー中のX座標の位置

説明   

Drop positionコマンドは、 “複合” オブジェクトに対して行われたドロップのドロップ位置を知るために使用します。

特に配列、階層リスト、リストボックス、テキストおよびピクチャフィールドに対して発生したドラッグ&ドロップイベントを処理するのにDrop positionを使用します。

  • ドロップ先オブジェクトが配列の場合、このコマンドは要素番号を返します。
  • ドロップ先オブジェクトがリストボックスの場合、このコマンドは行番号を返します。この場合、オプションのcolumnNumber引数には列番号が返されます。。
  • ドロップ先オブジェクトが階層リストの場合、この関数は項目位置を返します。
  • ドロップ先オブジェクトがテキストフィールドや変数、あるいはコンボボックスの場合、コマンドは文字列中の文字位置を返します。
    いずれの場合も、ソースオブジェクトが最後の配列要素または最後のリスト項目を超えてドロップされた場合、このコマンドは-1を返します。
  • ドロップ先オブジェクトがピクチャ型の変数やフィールドの場合、コマンドはクリックの縦位置と、オプションのpictPosY引数にクリックの横位置を返します。返される値はローカルの座標システムに対し相対で、ピクセルで表現されます。
配列やリストボックス、コンボボックス、階層リストに対してドラッグ&ドロップイベント以外でDrop positionを呼び出すと、コマンドは-1を返します。

重要: フォームオブジェクトにドロップ可プロパティが選択されている場合、ドロップされたデータを受け付けます。また、そのオブジェクトメソッドは、On Drag OverまたはOn Dropあるいはその両方に対して、これらのイベントを処理するためにアクティブにする必要があります。

DRAG AND DROP PROPERTIES コマンドの例題を参照。

以下の例題では、支払い済み金額は月ごとまた人毎にブレークダウンします。これはスクロールエリアからのドラッグ&ドロップで行われます:

リストボックスには以下のオブジェクトメソッドが記述されています:

 Case of
    :(Form event=On Drag Over)
       DRAG AND DROP PROPERTIES($source;$arrayrow;$processnum)
       If($source=Get pointer("SA1")) `ソースオブジェクトがスクロールエリアなら
          $0:=0
       Else
          $0:=-1 `ドロップを拒否する
       End if
    :(Form event=On Drop)
       DRAG AND DROP PROPERTIES($source;$arrayrow;$processnum)
       $rownum:=Drop position($colnum)
       If($colnum=1)
          BEEP
       Else
          Case of `Adding of dropped values
             :($colnum=2)
                John{$rownum}:=John{$rownum}+SA1{$arrayrow}
             :($colnum=3)
                Mark{$rownum}:=Mark{$rownum}+SA1{$arrayrow}
             :($colnum=4)
                Peter{$rownum}:=Peter{$rownum}+SA1{$arrayrow}
          End case
          DELETE FROM ARRAY(SA1;$arrayrow`エリアを更新
       End if
 End case



参照 

DRAG AND DROP PROPERTIES
ドラッグ&ドロップ

 
プロパティ 

プロダクト: 4D
テーマ: ドラッグ&ドロップ
番号: 608

 
履歴 

変更: 4D v11 SQL
変更: 4D v12

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)