235 lines
8.2 KiB
C++
235 lines
8.2 KiB
C++
// 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 <System.hpp>
|
|
#include <SysInit.hpp>
|
|
#include <Winapi.Windows.hpp>
|
|
#include <Winapi.ShlObj.hpp>
|
|
#include <Winapi.ActiveX.hpp>
|
|
#include <System.Classes.hpp>
|
|
#include <System.Math.hpp>
|
|
#include <uCEFTypes.hpp>
|
|
#include <System.Types.hpp>
|
|
|
|
//-- 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<tagSTGMEDIUM, 25> TOLEMediumArray;
|
|
|
|
typedef System::StaticArray<tagFORMATETC, 25> 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
|