向表单拖放文件,文件路径及名称显示到列表框中
*------------------------------------------
By :dkfdtf
之前用API实现过,不过这个更简单,利于VFP本身的功能即可。
如:在一个表单上加一个List列表框控件
1. 设置此列表框的 OLEDropMode =1
2. 在列表框的 OLEDragOver 事件中写代码:
Lparameters oDataObject,nEffect,nButton,nShift,nXCoord,nYCoord,nState
If nState=0 And oDataObject. GetFormat (15)
This . OLEDropHasData =1
Endif
3. 在列表框的 OLEDragDrop 事件中写加文件项目的代码:
Lparameters oDataObject,nEffect,nButton,nShift,nXCoord,nYCoord
Local laFiles(1)
oDataObject. GetData (15,@laFiles)
For m.lnI=1 To Alen (laFiles)
This . AddItem (laFiles(m.lnI))
Endfor
运行时拖文件(1个或多个)入表单的列表框中,因为代码是写在列表框的 OLEDrag ... 事件中的。
如果要在拖入表单并释放后加入列表框,只需将对列表框的设置改写到表单的对应属性和事件中即可。
*------------------------------------------
By :dkfdtf
之前用API实现过,不过这个更简单,利于VFP本身的功能即可。
如:在一个表单上加一个List列表框控件
1. 设置此列表框的 OLEDropMode =1
2. 在列表框的 OLEDragOver 事件中写代码:
Lparameters oDataObject,nEffect,nButton,nShift,nXCoord,nYCoord,nState
If nState=0 And oDataObject. GetFormat (15)
This . OLEDropHasData =1
Endif
3. 在列表框的 OLEDragDrop 事件中写加文件项目的代码:
Lparameters oDataObject,nEffect,nButton,nShift,nXCoord,nYCoord
Local laFiles(1)
oDataObject. GetData (15,@laFiles)
For m.lnI=1 To Alen (laFiles)
This . AddItem (laFiles(m.lnI))
Endfor
运行时拖文件(1个或多个)入表单的列表框中,因为代码是写在列表框的 OLEDrag ... 事件中的。
如果要在拖入表单并释放后加入列表框,只需将对列表框的设置改写到表单的对应属性和事件中即可。