method ExDataObject.SetData ([Value as Variant], [Format as Variant])

Inserts data into a ExDataObject object using the specified data format.

TypeDescription
Value as Variant A data that is going to be inserted to ExDataObject object.
Format as Variant A constant or value that specifies the data format, as described in exClipboardFormatEnum enum

Use SetData property to insert data for OLE drag and drop operations. Use the Files property is to add files to the clipboard data, when Format parameter is   exCFFiles. 

The following VB sample puts the selected text to the clipboard when the drag and drop operation starts ( The OLEDropMode property is exOLEDropManual ):

Private Sub Expression1_OLEStartDrag(ByVal Data As EXPRESSIONLibCtl.IExDataObject, AllowedEffects As Long)
    Dim s As String
    s = Expression1.SelText
    If (Len(s) > 0) Then
        AllowedEffects = 1
        Data.SetData s, 1
    End If
End Sub

The following C++ sample puts the selected text to the clipboard when the drag and drop operation starts:

void OnOLEStartDragExpression1(LPDISPATCH Data, long FAR* AllowedEffects) 
{
	CString s( m_edit.GetSelText() );
	if ( s.GetLength() > 0 )
	{
		*AllowedEffects = 1; /*exOLEDropEffectCopy*/
		if ( EXPRESSIONLib::IExDataObjectPtr spData( Data ) )
			spData->SetData( COleVariant( s ), COleVariant( long(EXPRESSIONLib::exCFText) ) );
		
	}
}

The C++ sample uses the #import <expression.dll> statement to include definitions for the IExDataObject and IExDataObjectFiles objects.

The following VB.NET sample puts the selected text to the clipboard when the drag and drop operation starts:

Private Sub AxExpression1_OLEStartDrag(ByVal sender As Object, ByVal e As AxEXPRESSIONLib._IExpressionEvents_OLEStartDragEvent) Handles AxExpression1.OLEStartDrag
    Dim s As String = AxExpression1.SelText
    If (Len(s) > 0) Then
        e.allowedEffects = 1
        e.data.SetData(s, 1)
    End If
End Sub

The following C# sample puts the selected text to the clipboard when the drag and drop operation starts:

private void axExpression1_OLEStartDrag(object sender, AxEXPRESSIONLib._IExpressionEvents_OLEStartDragEvent e)
{
	string s = axExpression1.SelText;
	if (s.Length > 0)
	{
		e.allowedEffects = 1;
		e.data.SetData(s, EXPRESSIONLib.exClipboardFormatEnum.exCFText );
	}
}

The following VFP sample puts the selected text to the clipboard when the drag and drop operation starts:

*** ActiveX Control Event ***
LPARAMETERS data, allowedeffects

with thisform.Expression1
	local s
	s = .SelText
	if ( len(s) > 0 ) then 
		allowedeffects = 1
		data.SetData( s, 1 )
	endif
endwith