kotkovets,
хм, я следовал этой логике до того как задал вопрос.. но дело в том что я или не понял или не то нашел...
сначала я посмотрел как это делается с SetStretchedImage
там сначала с помощью GetClientRect узнают требуемые координаты, а затем подставляют их в LoadImage
Код:

HANDLE WINAPI LoadImage (
__in_opt HINSTANCE HINST,
__in LPCTSTR lpszName,
__in UINT uType,
__in Int cxDesired,
__in Int cyDesired,
__in UINT fuLoad
);
те сюда
Код:

__in Int cxDesired,
__in Int cyDesired,
Dialogs_setImageOle использует OleLoadPicturePath
Код:

HRESULT OleLoadPicturePath (
__in LPOLESTR szURLorPath,
__in LPUNKNOWN punkCaller,
__in DWORD dwReserved,
__in OLE_COLOR clrReserved,
__in REFIID riid,
__out LPVOID * ppvRet
);
и здесь я или не нашел подобия этого...
Код:

__in Int cxDesired,
__in Int cyDesired,
или чего то недопонимаю...
выходит используя OleLoadPicturePath я не могу сделать то что мне нужно?