default Clipboard use CF_TEXT
but can also use CF_BITMAP or OLE
under Xbase++ i have QueryGetFormat() to ask which Format is used, how using harbour
- Code: Select all Expand view
- Function DoMyDrag(oDlg, oDrag, bArchivname)
LOCAL oOutlook
LOCAL aFile := {}
LOCAL i, iCnt
LOCAL cBase, cFile
oDlg:setpointer(, XBPSTATIC_SYSICON_WAIT, XBPWINDOW_POINTERTYPE_SYSPOINTER)
// email speichern in TEMP
if oDrag:queryGetFormat( "FileGroupDescriptor")
oOutlook := createobject("outlook.application")
if IsObject(oOutlook)
iCnt := oOutlook:ActiveExplorer:selection:count
aFile := array(iCnt)
for i := 1 to iCnt
// cBase ist der Betraff der Nachricht
cBase := ValidFileName(oOutlook:ActiveExplorer:selection:item(i):subject)
// dieser Codeblock erzeugt den Name der zu speichernen Datei, incl Pfad, etc
* aFile[i] := eval( bArchivname, cBase )
aFile[i] := "C:\TEMP\TEXTXXX"
oOutlook:ActiveExplorer:selection:item(i):saveas(aFile[i], olMSGUnicode)
next
oOutlook:destroy()
else
Msgbox("Fehler beim Zugriff auf Outlook !")
endif
oOutlook:= NIL
elseif oDrag:queryGetFormat(XBPCLPBRD_FILELIST)
aFile := oDrag:getdata( XBPCLPBRD_FILELIST)
iCnt := len( aFile)
for i := 1 to iCnt
// dieser Codeblock erzeugt den Name der zu speichernen Datei, incl Pfad, etc
cFile := eval( bArchivname, aFile[i] )
if fcopy(aFile[i], cFile, .T. )
aFile[i] := cFile
else
aFile[i] := ""
endif
next
else
// kein verarbeitung hier definiert
endif
oDlg:setpointer()
RETURN aFile