Files
common/CEF4Delphi/win32/hpps/uCEFOLEDragAndDrop.hpp
T
2026-06-12 23:18:12 +08:00

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