IPreviewHandler SetWindow 未指定大小

IPreviewHandler SetWindow does not specify a size

我想在 window 上添加预览。一个矩形被传递到将在其中绘制预览的函数中,但由于某种原因,预览是在整个 window 中绘制的,而不是在指定的矩形中绘制的。

RECT rectPreview;
rectPreview.top=10;
rectPreview.left=10;
rectPreview.right=100;
rectPreview.bottom=100;

IPreviewHandler *pIPreviewHandler(NULL) ;
CoCreateInstance( cls, NULL, CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER, IID_IPreviewHandler, (LPVOID*)&pIPreviewHandler );
//some code
pIPreviewHandler->SetWindow( hWnd , &rectPreview );
pIPreviewHandler->SetRect( &rectPreview );
pIPreviewHandler->DoPreview( );

如何设置绘图矩形,使预览只在其中?

只需要在DoPreview

之后调用SetRect
pIPreviewHandler->DoPreview();
pIPreviewHandler->SetRect( &rectPreview );