DragDropClient 类 |
命名空间: VO
DragDropClient 类型公开以下成员。
名称 | 说明 | |
---|---|---|
DragDropClient |
构造一个拖放操作客户端。 重要!通常,不应在应用程序代码中调用此方法。而是使用 Window:EnableDragDropClient(TRUE) 来创建一个拖放操作客户端。 |
名称 | 说明 | |
---|---|---|
Dispatch | ||
DragLeave |
通知应用程序鼠标已离开拖放操作客户端的窗口的客户区。
| |
DragOver |
通知应用程序发生了 DragOver 事件,并接受或拒绝拖放。
| |
Drop |
检索有关从拖动事件中的加载的信息,并对选择中的每个文件执行操作。
|
1METHOD Init(oOwner) CLASS StandardShellWindow 2 SUPER:Init(oOwner) 3 SELF:Size := Dimension{300,100} 4 SELF:Origin := Point{0,20} 5 SELF:Caption := "Non-MDI ChildWindow" 6 7 SELF:EnableMinBox() 8 SELF:EnableMaxBox() 9 SELF:EnableSystemMenu 10 SELF:EnableBorder() 11 SELF:EnableDragDropClient() // 将窗口设置为DragDropClient 12 SELF:Show() 13 14METHOD DragOver(oDragEvent) CLASS StandardShellWindow 15 LOCAL iCount AS INT 16 LOCAL iAcceptDrop AS LOGIC 17 // 检查拖放到窗口上的文件 18 // 只有所有文件都是.DBF时才接受 19 lAcceptDrop := TRUE 20 21 FOR iCount := 1 TO oDragEvent:FileCount 22 IF RAT(".DBF", oDragEvent:FileName(iCount)) == 0 23 lAcceptDrop := FALSE 24 EXIT 25 ENDIF 26 NEXT 27 28 RETURN lAcceptDrop 29 30METHOD DragLeave() CLASS StandardShellWindow 31// 拖放尝试期间执行的任何操作都会被撤销 32METHOD Drop(oDragEvent) CLASS StandardShellWindow 33 LOCAL nNumFiles := oDragEvent:FileCount 34 // 拖放的条目数 35 LOCAL nFile AS INT 36 // 对于每个被拖放的项目,如果它是一个文件,就打开它 37 FOR nFile := 1 TO nNumFiles 38 IF File(oDragEvent:FileName(nFile)) 39 SELF:DoOpenFile(oDragEvent:FileName(nFile)) 40 ENDIF 41 NEXT