此接口方法太多。文档太少。
请高手提供源码,不胜感激。
请高手提供源码,不胜感激。
解决方案 »
- DELPHI LISTVIEW排序时时间排序不正常,高人帮帮忙
- 我的Delphi 算法与数据结构 附书光盘丢了,谁有能发我一份吗? 百分奉上!
- 如何下载局域网中某目录下的所有文件
- [Fatal Error] Required package 'dxPSdxMVLnkD7' not found
- 临时表问题
- 请问:当一个窗体被打开后,如何知道打开它的那个窗体的NAME(不通过变量的方式)?
- 异常vs异步,BCB那边的不回答,我只好跑到这里来求教
- 帮我看一下下面的代码中用nil做实参是什么意思??(delphi菜鸟)
- TSpinEdit在delphi5.0里没有?
- 请问:如何拷贝目录下的所有文件(包括子目录)到另外的子目录?一定给分!!!
- 200分问题,请帮助解决。谢谢
- 求mxOutlookBar旧版,
参考下比如
TDataObject = class(TInterfacedObject,IDataObject)
private
public
constructor Create;
procedure Free;
//IDataObject需要用到的接口
function GetData(const formatetcIn: TFormatEtc; out medium: TStgMedium): HResult; stdcall;
function GetDataHere(const formatetc: TFormatEtc; out medium: TStgMedium): HResult; stdcall;
function QueryGetData(const formatetc: TFormatEtc): HResult; stdcall;
function GetCanonicalFormatEtc(const formatetc: TFormatEtc; out formatetcOut: TFormatEtc): HResult;stdcall;
function SetData(const formatetc: TFormatEtc; var medium: TStgMedium; fRelease: BOOL): HResult; stdcall;
function EnumFormatEtc(dwDirection: Longint; out enumFormatEtc: IEnumFormatEtc): HResult; stdcall;
function DAdvise(const formatetc: TFormatEtc; advf: Longint; const advSink: IAdviseSink; out dwConnection: Longint): HResult; stdcall;
function DUnadvise(dwConnection: Longint): HResult; stdcall;
function EnumDAdvise(out enumAdvise: IEnumStatData): HResult; stdcall;
end;constructor TDataObject.Create;
begin
inherited Create;
end;procedure TDataObject.free;
begin
end;//每个接口都要写...比较麻烦
function TDataObject.GetDataHere(const formatetc: TFormatEtc; out medium: TStgMedium): HResult; stdcall;
begin Result := E_NOTIMPL; end; //不支持的接口就返回E_NOTIMPL
function TDataObject.GetData(const formatetcIn: TFormatEtc; out medium: TStgMedium): HResult; stdcall;
begin
//成功返回Result := S_OK失败S_FALSE;
//按照out参数返回TStgMedium结构medium:=...
Result := S_OK;
end;//以此类推
...
...
...
...
//////////////////////////////////////////////////////
IOLEObject接口要完成
function SetClientSite(const clientSite: IOleClientSite): HResult;
stdcall;
function GetClientSite(out clientSite: IOleClientSite): HResult;
stdcall;
function SetHostNames(szContainerApp: POleStr;
szContainerObj: POleStr): HResult; stdcall;
function Close(dwSaveOption: Longint): HResult; stdcall;
function SetMoniker(dwWhichMoniker: Longint; const mk: IMoniker): HResult;
stdcall;
function GetMoniker(dwAssign: Longint; dwWhichMoniker: Longint;
out mk: IMoniker): HResult; stdcall;
function InitFromData(const dataObject: IDataObject; fCreation: BOOL;
dwReserved: Longint): HResult; stdcall;
function GetClipboardData(dwReserved: Longint;
out dataObject: IDataObject): HResult; stdcall;
function DoVerb(iVerb: Longint; msg: PMsg; const activeSite: IOleClientSite;
lindex: Longint; hwndParent: HWND; const posRect: TRect): HResult;
stdcall;
function EnumVerbs(out enumOleVerb: IEnumOleVerb): HResult; stdcall;
function Update: HResult; stdcall;
function IsUpToDate: HResult; stdcall;
function GetUserClassID(out clsid: TCLSID): HResult; stdcall;
function GetUserType(dwFormOfType: Longint; out pszUserType: POleStr): HResult;
stdcall;
function SetExtent(dwDrawAspect: Longint; const size: TPoint): HResult;
stdcall;
function GetExtent(dwDrawAspect: Longint; out size: TPoint): HResult;
stdcall;
function Advise(const advSink: IAdviseSink; out dwConnection: Longint): HResult;
stdcall;
function Unadvise(dwConnection: Longint): HResult; stdcall;
function EnumAdvise(out enumAdvise: IEnumStatData): HResult; stdcall;
function GetMiscStatus(dwAspect: Longint; out dwStatus: Longint): HResult;
stdcall;
function SetColorScheme(const logpal: TLogPalette): HResult; stdcall;
具体你查查MSDN