Returns a specific file name given its index.
Type | Description | |||
Index as Long | A long expression that indicates the filename's index | |||
String | A string value that indicates the filename |
In order to enable OLE drag and drop feature into control you have to check the OLEDropMode property. Use the SelText property to insert text at cursor position. The control fires the OLEDragDrop event when the user drags data to the control. The Count property specifies the number of files being stored.
The following VB sample inserts the names of the files being dragged at the cursor position:
Private Sub Edit1_OLEDragDrop(ByVal Data As EXEDITLibCtl.IExDataObject, Effect As Long, ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If (Data.GetFormat(exCFFiles)) Then With Data.Files Dim i As Long, s As String s = "" For i = 0 To .Count - 1 s = s + .Item(i) + vbCrLf Next Edit1.SelText = s End With End If End Sub
The following C++ sample inserts the names of the files being dragged at the cursor position:
void OnOLEDragDropEdit1(LPDISPATCH Data, long FAR* Effect, short Button, short Shift, long X, long Y) { if ( EXEDITLib::IExDataObjectPtr spData( Data ) ) if ( spData->GetFormat( EXEDITLib::exCFFiles ) ) { EXEDITLib::IExDataObjectFilesPtr spFiles = spData->Files; if ( spFiles != NULL ) { CString s; for ( long i = 0; i < spFiles->Count; i++ ) s += spFiles->Item[i]; m_edit.SetSelText( s ); } } }
the sample needs to include definitions for IExDataObject and IExDataObjectFiles objects, by using the #import <exedit.dll> statement. The #import <exedit.dll> includes the EXEDITLib namespace where are defined all objects in the control's type library.
The following VB.NET sample inserts the names of the files being dragged at the cursor position:
Private Sub AxEdit1_OLEDragDrop(ByVal sender As Object, ByVal e As AxEXEDITLib._IEditEvents_OLEDragDropEvent) Handles AxEdit1.OLEDragDrop If (e.data.GetFormat(EXEDITLib.exClipboardFormatEnum.exCFFiles)) Then With e.data.Files Dim i As Long, s As String = "" For i = 0 To .Count - 1 s = s + .Item(i) + vbCrLf Next AxEdit1.SelText = s End With End If End Sub
The following C# sample inserts the names of the files being dragged at the cursor position:
private void axEdit1_OLEDragDrop(object sender, AxEXEDITLib._IEditEvents_OLEDragDropEvent e) { if (e.data.GetFormat(Convert.ToInt16(EXEDITLib.exClipboardFormatEnum.exCFFiles))) { EXEDITLib.IExDataObjectFiles files = e.data.Files; if (files != null) { string s = ""; for (int i = 0; i < files.Count; i++) s += files[i] + "\r\n"; axEdit1.SelText = s; } } }
The following VFP sample inserts the names of the files being dragged at the cursor position:
*** ActiveX Control Event *** LPARAMETERS data, effect, button, shift, x, y if ( data.GetFormat( 15 ) ) then local i, s s = "" with data.Files for i = 0 to .Count - 1 s = s + .Item(i) + chr(13) + chr(10) next thisform.Edit1.SelText = s endwith endif