FilePathsインターフェース (PRIM_APPL.IDragDropFilePaths)

FilePathsインターフェースのドラッグアンドドロップ

祖先 - なし

詳細

PRIM_APPL.IDragDropFilePaths オブジェクトは、WindowsのエクスプローラからのファイルをLANSAアプリケーションにドロップできるように、外部のドラッグアンドドロップ操作に関する情報を提供します。

DragOverDragDrop 及び EndDrag Payload パラメータには、オブジェクトのインスタンスが含まれます。

このオブジェクトには、ファイルの数の countpaths が含まれます。

この例では、 Windows エクスプローラからフォームにドラッグされたファイルのパスを表示します。 

     Function Options(*DIRECT)
Begin_Com Role(*EXTENDS #PRIM_FORM) Clientheight(464) Clientwidth(680) Dragstyle(Aggregated) Height(503) Left(313) Top(207) Width(696) Layoutmanager(#TableLayout1)

Define_Com Class(#PRIM_TBLO) Name(#TableLayout1)
Define_Com Class(#PRIM_TBLO.Column) Name(#Column1) Displayposition(1) Parent(#TableLayout1)
Define_Com Class(#PRIM_TBLO.Row) Name(#Row1) Displayposition(1) Parent(#TableLayout1)
Define_Com Class(#PRIM_TBLO.Item) Name(#FilesItem1) Column(#Column1) Manage(#Files) Parent(#TableLayout1) Row(#Row1)

Define_Com Class(#PRIM_LTVW) Name(#Files) Columnbuttonheight(20) Componentversion(2) Displayposition(1) Dragstyle(Automatic) Fullrowselect(True) Height(464) Keyboardpositioning(SortColumn) Left(0) Parent(#COM_OWNER) Showsortarrow(True) Tabposition(1) Top(0) Width(680)
Define_Com Class(#PRIM_LVCL) Name(#LVCL1) Displayposition(1) Parent(#Files) Source(#xDemoCaption) Widthtype(Remainder) Caption('Files') Captiontype(Caption)

Evtroutine Handling(#com_owner.CreateInstance)

#Sys_Appln.AllowWindowsDragDrop := True

Endroutine

Evtroutine Handling(#Files.DragOver) Payload(#Payload) Acceptdrop(#AcceptDrop)

#AcceptDrop := (#Payload *Is #Prim_Appl.iDragDropFilePaths)

Endroutine

Evtroutine Handling(#Files.DragDrop) Payload(#Payload)

Clr_List Named(#Files)

If (#Payload *Is #Prim_Appl.IDragDropFilePaths)

Begin_Loop To((#Payload *As #Prim_Appl.IDragDropFilePaths).FileCount)

#xDemoCaption := (#Payload *As #Prim_Appl.IDragDropFilePaths).FilePath<(#Files.Entries + 1)>
Add_Entry To_List(#Files)

End_Loop

Endif

Endroutine

End_Com

プロパティ

名前

記述

FileCount

ドラッグされたファイル数

FilePath

ファイルのパス


参照

すべてのコンポーネント クラス
テクニカルリファレンス

  • No labels