| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- // This is a part of the Microsoft Foundation Classes C++ library.
- // Copyright (C) 1992-1997 Microsoft Corporation
- // All rights reserved.
- //
- // This source code is only intended as a supplement to the
- // Microsoft Foundation Classes Reference and related
- // electronic documentation provided with the library.
- // See these sources for detailed information regarding the
- // Microsoft Foundation Classes product.
- #include "stdafx.h"
- HINSTANCE volatile _hOlePropLib = NULL;
- HRESULT (STDAPICALLTYPE *_pfnOleCreatePropertyFrame)(HWND, UINT, UINT,
- LPCOLESTR, ULONG, LPUNKNOWN*, ULONG, LPCLSID, LCID, DWORD, LPVOID) =
- NULL;
- HRESULT (STDAPICALLTYPE *_pfnOleCreatePropertyFrameIndirect)(LPOCPFIPARAMS) =
- NULL;
- HRESULT (STDAPICALLTYPE *_pfnOleTranslateColor)(OLE_COLOR, HPALETTE,
- COLORREF*) = NULL;
- HRESULT (STDAPICALLTYPE *_pfnOleCreateFontIndirect)(LPFONTDESC, REFIID,
- LPVOID*) = NULL;
- HRESULT (STDAPICALLTYPE *_pfnOleCreatePictureIndirect)(LPPICTDESC, REFIID,
- BOOL, LPVOID*) = NULL;
- HRESULT (STDAPICALLTYPE *_pfnOleLoadPicture)(LPSTREAM, LONG, BOOL, REFIID,
- LPVOID*) = NULL;
- FARPROC AFXAPI _GetOlePropLibFunc(LPCSTR pszFuncName)
- {
- if (_hOlePropLib == NULL)
- {
- AfxLockGlobals(CRIT_DYNDLLLOAD);
- if (_hOlePropLib == NULL)
- {
- #ifndef _MAC
- _hOlePropLib = LoadLibraryA("OLEPRO32.DLL");
- #else
- _hOlePropLib = LoadLibraryEx("OLEPRO32.DLL", NULL, LOAD_BY_FRAGMENT_NAME);
- #endif
- }
- AfxUnlockGlobals(CRIT_DYNDLLLOAD);
- }
- FARPROC pfnProc = NULL;
- if (_hOlePropLib != NULL)
- pfnProc = GetProcAddress(_hOlePropLib, pszFuncName);
- return pfnProc;
- }
- STDAPI _AfxOleCreatePropertyFrame(HWND hwndOwner, UINT x, UINT y,
- LPCOLESTR lpszCaption, ULONG cObjects, LPUNKNOWN* ppUnk, ULONG cPages,
- LPCLSID pPageClsID, LCID lcid, DWORD dwReserved, LPVOID pvReserved)
- {
- if (_pfnOleCreatePropertyFrame == NULL)
- {
- (FARPROC&)_pfnOleCreatePropertyFrame =
- _GetOlePropLibFunc("OleCreatePropertyFrame");
- if (_pfnOleCreatePropertyFrame == NULL)
- return E_FAIL;
- }
- return (*_pfnOleCreatePropertyFrame)(hwndOwner, x, y, lpszCaption,
- cObjects, ppUnk, cPages, pPageClsID, lcid, dwReserved, pvReserved);
- }
- STDAPI _AfxOleCreatePropertyFrameIndirect(LPOCPFIPARAMS lpParams)
- {
- if (_pfnOleCreatePropertyFrameIndirect == NULL)
- {
- (FARPROC&)_pfnOleCreatePropertyFrameIndirect =
- _GetOlePropLibFunc("OleCreatePropertyFrameIndirect");
- if (_pfnOleCreatePropertyFrameIndirect == NULL)
- return E_FAIL;
- }
- return (*_pfnOleCreatePropertyFrameIndirect)(lpParams);
- }
- STDAPI _AfxOleTranslateColor(OLE_COLOR clr, HPALETTE hpal,
- COLORREF* lpcolorref)
- {
- if (_pfnOleTranslateColor == NULL)
- {
- (FARPROC&)_pfnOleTranslateColor =
- _GetOlePropLibFunc("OleTranslateColor");
- if (_pfnOleTranslateColor == NULL)
- return E_FAIL;
- }
- return (*_pfnOleTranslateColor)(clr, hpal, lpcolorref);
- }
- STDAPI _AfxOleCreateFontIndirect(LPFONTDESC lpFontDesc, REFIID riid,
- LPVOID* lplpvObj)
- {
- if (_pfnOleCreateFontIndirect == NULL)
- {
- (FARPROC&)_pfnOleCreateFontIndirect =
- _GetOlePropLibFunc("OleCreateFontIndirect");
- if (_pfnOleCreateFontIndirect == NULL)
- return E_FAIL;
- }
- return (*_pfnOleCreateFontIndirect)(lpFontDesc, riid, lplpvObj);
- }
- STDAPI _AfxOleCreatePictureIndirect(LPPICTDESC lpPictDesc, REFIID riid,
- BOOL fOwn, LPVOID* lplpvObj)
- {
- if (_pfnOleCreatePictureIndirect == NULL)
- {
- (FARPROC&)_pfnOleCreatePictureIndirect =
- _GetOlePropLibFunc("OleCreatePictureIndirect");
- if (_pfnOleCreatePictureIndirect == NULL)
- return E_FAIL;
- }
- return (*_pfnOleCreatePictureIndirect)(lpPictDesc, riid, fOwn, lplpvObj);
- }
- STDAPI _AfxOleLoadPicture(LPSTREAM lpstream, LONG lSize, BOOL fRunmode,
- REFIID riid, LPVOID* lplpvObj)
- {
- if (_pfnOleLoadPicture == NULL)
- {
- (FARPROC&)_pfnOleLoadPicture =
- _GetOlePropLibFunc("OleLoadPicture");
- if (_pfnOleLoadPicture == NULL)
- return E_FAIL;
- }
- return (*_pfnOleLoadPicture)(lpstream, lSize, fRunmode, riid, lplpvObj);
- }
|