0

VC++を使用しています。

IPictureget_Handle、、 などの複数の機能を提供しRenderますSaveAsFile。使いやすいです。

IPictureDispから継承しIDispatchているため、メソッドのみを提供しますinvoke。友好的ではありません。

ocxこれで、オブジェクトのみを返すものを取得しIPictureDispました。直接変換する方法はありIPictureDispますか?IPictureでの経験はあまりありませんATL/COM

4

1 に答える 1

3

MSDN が述べているように:

OLE の実装

[...] システムは、picture オブジェクトの標準実装を提供します。その主要なインターフェイスは IPicture と IPictureDisp です。ピクチャ オブジェクトは OleCreatePictureIndirect で作成され、IPicture と IPictureDisp インターフェイスの両方をサポートします。

両方のインターフェイスがサポートされているため、通常IPictureDispのクエリを実行できます。IPictureQueryInterface

IPictureDisp* pPictureDisp = ...
CComQIPtr<IPicture> pPicture = pPictureDisp;

それが機能せず、IPicture直接利用できない場合は、IPictureDisp::InvokewithDISPID_PICT_HANDLEを使用しDISPID_PICT_RENDERてプロパティ/メソッドにアクセスできることに注意してください。

于 2013-03-03T15:22:17.510 に答える