API version 1
- ‐

Dropped

ドラッグ&ドロップ操作でドロップされた時に発生するイベントです。

ドロップされた内容により複数回発生する場合があります。例えばエクスプローラから複数個のファイルをドロップされた場合そのファイルの個数回のイベントが発生します。

テキストデータとファイルを同時にドロップされた場合も各々イベントが発生します。

DroppedイベントのEventオブジェクトは以下の構造を持ちます。

名前 説明
integer type

ドロップされたデータの形式。値は下記の定数のいずれかが設定されます。

定数 説明
DROP_FILE 1 dataはファイルにアクセス可能なFileオブジェクト
DROP_STRING 2 dataは文字列データの入ったStringオブジェクト
DROP_OBJECT 4 dataはオブジェクトへの参照
integer mode

ドラッグ&ドロップモード。値は下記の定数のいずれかが設定されます。

定数 説明
DROP_COPYMODE 256 コピーモード
DROP_MOVEMODE 512 移動モード
reference data ドロップされたデータ(typeにより変化します)
integer xPos イベントが発生したx座標
integer yPos イベントが発生したy座標
boolean shiftKey Shiftキーが押されている場合はtrue、それ以外はfalse
boolean ctrlKey Ctrlキーが押されている場合はtrue、それ以外はfalse
boolean altKey Altキーが押されている場合はtrue、それ以外はfalse
boolean lButton マウスの左ボタンが押されている場合はtrue、それ以外はfalse
boolean mButton マウスの中ボタンが押されている場合はtrue、それ以外はfalse
boolean rButton マウスの右ボタンが押されている場合はtrue、それ以外はfalse

使用例

function onDropped(e) {
    switch (e.type) {
    case DROP_STRING:
        print(e.data, "\n");
        break;
    case DROP_FILE:
        print(e.data.pathName, "\n");
        break;
    }
}


使用例 CRSダウンロード

Form DisplayObj_p {
   x = 0;
   y = 0;
   width = 800;
   height = 600;

   /* このサンプルはテキストファイルをドラッグ&ドロップでお試しください */

   ListBox ListBox11 {
           x = 24;
           y = 32;
           width = 128;
           /* height = 100; */ # 無指定は100

           active = true ;  # falseで不活性
           acceptDrop = DROP_FILE;
           bgColor = "CYAN" ;
           inactiveBgColor = "BLACK" ;
           border = BORDER_DASH ;
           clipLeft = 25 ;
           clipTop = 5 ;
           opacity = 0.5 ;
           tabindex = 2;

           Function OnDropped(e) {
                           ^.EditBox12.value = e.Data.Read();
           }
   }

   EditBox EditBox12 {
           x = 176;
           y = 48;
           width = 200;
           /* height = 80; */ # 無指定は100

           Border = BORDER_SUNKEN;
           fgColor = "RED" ;
           inactiveFgColor = "WHITE" ;
           font = new Font("MS 明朝",16) ;

           /* 以下の項目は実際に試してみてください。
           scroll = SCROLL_NONE ;
           scrollBarSize = 30 ;
           tabindex = 1 ;
           */
           title = "内容表示" ;
   }

   Label label1 {
           x = 32;
           y = 8;
           width = 192;
           height = 16;
           title = "下の枠にテキストファイルをドロップ" ;
   }

   NumberEdit NumberEdit11[2] {
           x = 56;
           y = 160;
           width = 100;
           height = 25;
           layout = LAYOUT_VERTICAL ;
           margin = 10;     # box内のマージン
           layoutMargin = 10 ;
           layoutSpacing = 10;
           NumberEdit11[0].Value = 40 ;
           NumberEdit11[1].Value = 80;
   }

   Button Button1 {
           x = 184;
           y = 168;
           width = 69;
           height = 28;
           Title = "ScrollBar";

           Function OnTouch( e ) {
                   ^.EditBox12.scrollBarSize = ^.NumberEdit11[0].Value ;
           }
   }
   Button Button2 {
           x = 184;
           y = 200;
           width = 69;
           height = 28;
           Title = "height ";

           Function OnTouch( e ) {
                   ^.EditBox12.height = ^.NumberEdit11[1].Value ;
           }
   }
}