// CodeGear C++Builder // Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc. // All rights reserved // (DO NOT EDIT: machine generated header) 'uCEFOLEDragAndDrop.pas' rev: 37.00 (Windows) #ifndef uCEFOLEDragAndDropHPP #define uCEFOLEDragAndDropHPP #pragma delphiheader begin #pragma option push #if defined(__BORLANDC__) && !defined(__clang__) #pragma option -w- // All warnings off #pragma option -Vx // Zero-length empty class member #endif #pragma pack(push,8) #include #include #include #include #include #include #include #include #include //-- user supplied ----------------------------------------------------------- namespace Ucefoledraganddrop { //-- forward type declarations ----------------------------------------------- class DELPHICLASS TOLEDragAndDropMgr; class DELPHICLASS TOLEEnumFormatEtc; class DELPHICLASS TOLEDropSource; class DELPHICLASS TOLEDataObject; class DELPHICLASS TOLEDropTarget; //-- type declarations ------------------------------------------------------- typedef System::StaticArray TOLEMediumArray; typedef System::StaticArray TOLEFormatArray; #pragma pack(push,4) class PASCALIMPLEMENTATION TOLEDragAndDropMgr : public System::TObject { typedef System::TObject inherited; protected: bool __fastcall GetStorageForBytes(Winapi::Activex::TStgMedium &aMedium, const void * aData, System::NativeUInt aLength); bool __fastcall GetStorageForString(Winapi::Activex::TStgMedium &aMedium, const System::WideString aData)/* overload */; bool __fastcall GetStorageForString(Winapi::Activex::TStgMedium &aMedium, const System::AnsiString aData)/* overload */; bool __fastcall GetStorageForFileDescriptor(Winapi::Activex::TStgMedium &aMedium, const System::UnicodeString aFileName); public: virtual HRESULT __fastcall DragEnter(const _di_IDataObject DataObj, System::LongInt grfKeyState, const Winapi::Windows::TPoint &pt, System::LongInt &dwEffect); virtual HRESULT __fastcall DragOver(System::LongInt grfKeyState, const Winapi::Windows::TPoint &pt, System::LongInt &dwEffect); virtual HRESULT __fastcall DragLeave(); virtual HRESULT __fastcall Drop(const _di_IDataObject dataObj, System::LongInt grfKeyState, const Winapi::Windows::TPoint &pt, System::LongInt &dwEffect); public: /* TObject.Create */ inline __fastcall TOLEDragAndDropMgr() : System::TObject() { } /* TObject.Destroy */ inline __fastcall virtual ~TOLEDragAndDropMgr() { } }; #pragma pack(pop) #pragma pack(push,4) class PASCALIMPLEMENTATION TOLEEnumFormatEtc : public System::TInterfacedObject { typedef System::TInterfacedObject inherited; protected: int FIndex; int FNumFormats; TOLEFormatArray FFormatArray; void __fastcall CopyFromFormatArray(const TOLEFormatArray &aSrcFormatArray); void __fastcall CopyFormatEtc(Winapi::Activex::TFormatEtc &aDstFormatEtc, const Winapi::Activex::TFormatEtc &aSrcFormatEtc); public: __fastcall TOLEEnumFormatEtc()/* overload */; __fastcall TOLEEnumFormatEtc(const TOLEFormatArray &aFormatArray, int aNumFormats, int aIndex)/* overload */; __fastcall virtual ~TOLEEnumFormatEtc(); HRESULT __stdcall Next(System::LongInt Celt, /* out */ void *Rgelt, System::PLongInt pCeltFetched); HRESULT __stdcall Skip(System::LongInt Celt); HRESULT __stdcall Reset(); HRESULT __stdcall Clone(/* out */ _di_IEnumFORMATETC &Enum); private: void *__IEnumFORMATETC; // IEnumFORMATETC public: #if defined(MANAGED_INTERFACE_OPERATORS) // {00000103-0000-0000-C000-000000000046} operator _di_IEnumFORMATETC() { _di_IEnumFORMATETC intf; this->GetInterface(intf); return intf; } #else operator IEnumFORMATETC*(void) { return (IEnumFORMATETC*)&__IEnumFORMATETC; } #endif }; #pragma pack(pop) #pragma pack(push,4) class PASCALIMPLEMENTATION TOLEDropSource : public System::TInterfacedObject { typedef System::TInterfacedObject inherited; public: HRESULT __stdcall QueryContinueDrag(System::LongBool fEscapePressed, System::LongInt grfKeyState); HRESULT __stdcall GiveFeedback(System::LongInt dwEffect); public: /* TObject.Create */ inline __fastcall TOLEDropSource() : System::TInterfacedObject() { } /* TObject.Destroy */ inline __fastcall virtual ~TOLEDropSource() { } private: void *__IDropSource; // IDropSource public: #if defined(MANAGED_INTERFACE_OPERATORS) // {00000121-0000-0000-C000-000000000046} operator _di_IDropSource() { _di_IDropSource intf; this->GetInterface(intf); return intf; } #else operator IDropSource*(void) { return (IDropSource*)&__IDropSource; } #endif }; #pragma pack(pop) #pragma pack(push,4) class PASCALIMPLEMENTATION TOLEDataObject : public System::TInterfacedObject { typedef System::TInterfacedObject inherited; protected: int FNumFormats; TOLEFormatArray FFormatArray; TOLEMediumArray FMediumArray; bool FAsync; bool FInOperation; int __fastcall LookupFormatEtc(const Winapi::Activex::TFormatEtc &aFormatEtc); unsigned __fastcall DupGlobalMem(unsigned hMem); public: __fastcall TOLEDataObject(const TOLEFormatArray &aFormatArray, const TOLEMediumArray &aMediumArray, int aNumFormats); HRESULT __stdcall GetData(const Winapi::Activex::TFormatEtc &FormatEtcIn, /* out */ Winapi::Activex::TStgMedium &Medium); HRESULT __stdcall GetDataHere(const Winapi::Activex::TFormatEtc &FormatEtc, /* out */ Winapi::Activex::TStgMedium &Medium); HRESULT __stdcall QueryGetData(const Winapi::Activex::TFormatEtc &FormatEtc); HRESULT __stdcall GetCanonicalFormatEtc(const Winapi::Activex::TFormatEtc &FormatEtc, /* out */ Winapi::Activex::TFormatEtc &FormatEtcout); HRESULT __stdcall SetData(const Winapi::Activex::TFormatEtc &FormatEtc, Winapi::Activex::TStgMedium &Medium, System::LongBool fRelease); HRESULT __stdcall EnumFormatEtc(System::LongInt dwDirection, /* out */ _di_IEnumFORMATETC &aEnumFormatEtc); HRESULT __stdcall dAdvise(const Winapi::Activex::TFormatEtc &FormatEtc, System::LongInt advf, const _di_IAdviseSink advsink, /* out */ System::LongInt &dwConnection); HRESULT __stdcall dUnadvise(System::LongInt dwConnection); HRESULT __stdcall EnumdAdvise(/* out */ _di_IEnumSTATDATA &EnumAdvise); public: /* TObject.Destroy */ inline __fastcall virtual ~TOLEDataObject() { } private: void *__IDataObject; // IDataObject public: #if defined(MANAGED_INTERFACE_OPERATORS) // {0000010E-0000-0000-C000-000000000046} operator _di_IDataObject() { _di_IDataObject intf; this->GetInterface(intf); return intf; } #else operator IDataObject*(void) { return (IDataObject*)&__IDataObject; } #endif }; #pragma pack(pop) #pragma pack(push,4) class PASCALIMPLEMENTATION TOLEDropTarget : public System::TInterfacedObject { typedef System::TInterfacedObject inherited; protected: TOLEDragAndDropMgr* FManager; public: __fastcall TOLEDropTarget(TOLEDragAndDropMgr* const aManager); HRESULT __stdcall DragEnter(const _di_IDataObject DataObj, System::LongInt grfKeyState, Winapi::Windows::TPoint pt, System::LongInt &dwEffect); HRESULT __stdcall DragOver(System::LongInt grfKeyState, Winapi::Windows::TPoint pt, System::LongInt &dwEffect); HRESULT __stdcall Drop(const _di_IDataObject dataObj, System::LongInt grfKeyState, Winapi::Windows::TPoint pt, System::LongInt &dwEffect); HRESULT __stdcall DragLeave(); public: /* TObject.Destroy */ inline __fastcall virtual ~TOLEDropTarget() { } private: void *__IDropTarget; // IDropTarget public: #if defined(MANAGED_INTERFACE_OPERATORS) // {00000122-0000-0000-C000-000000000046} operator _di_IDropTarget() { _di_IDropTarget intf; this->GetInterface(intf); return intf; } #else operator IDropTarget*(void) { return (IDropTarget*)&__IDropTarget; } #endif }; #pragma pack(pop) //-- var, const, procedure --------------------------------------------------- static _DELPHI_CONST System::Int8 CUSTOM_ARRAY_LENGTH = System::Int8(0x19); } /* namespace Ucefoledraganddrop */ #if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_UCEFOLEDRAGANDDROP) using namespace Ucefoledraganddrop; #endif #pragma pack(pop) #pragma option pop #pragma delphiheader end. //-- end unit ---------------------------------------------------------------- #endif // uCEFOLEDragAndDropHPP