Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
1112 lines
37 KiB
C++
1112 lines
37 KiB
C++
/*************************************************************************
|
|
**
|
|
** OLE 2.0 Utilities
|
|
**
|
|
** olestd.h
|
|
**
|
|
** This file contains file contains data structure defintions,
|
|
** function prototypes, constants, etc. for the common OLE 2.0
|
|
** utilities.
|
|
**
|
|
** These utilities include the following:
|
|
** Debuging Assert/Verify macros
|
|
** HIMETRIC conversion routines
|
|
** reference counting debug support
|
|
** OleStd API's for common compound-document app support
|
|
**
|
|
** (c) Copyright Microsoft Corp. 1990 - 1996 All Rights Reserved
|
|
**
|
|
*************************************************************************/
|
|
|
|
#if !defined( _OLESTD_H_ )
|
|
#define _OLESTD_H_
|
|
|
|
#if !defined(__cplusplus) && !defined( __TURBOC__)
|
|
#define NONAMELESSUNION // use strict ANSI standard (for DVOBJ.H)
|
|
#endif
|
|
|
|
#include <windows.h>
|
|
#include <shellapi.h>
|
|
#include <ole2.h>
|
|
#include <string.h>
|
|
#include <dlgs.h> //For fileopen dlg; standard include
|
|
#include "ansiapi.h"
|
|
#include "oledlg.h"
|
|
|
|
/*************************************************************************
|
|
** DEBUG ASSERTION ROUTINES
|
|
*************************************************************************/
|
|
|
|
#if DBG
|
|
#include "assert.h"
|
|
#define FnAssert(lpstrExpr, lpstrMsg, lpstrFileName, iLine) \
|
|
(_assert(lpstrMsg ? lpstrMsg : lpstrExpr, \
|
|
lpstrFileName, \
|
|
iLine), NOERROR)
|
|
#endif //DBG
|
|
|
|
// BEGINING OF OLD OLESTD.H FILE
|
|
#if defined( __TURBOC__ ) || defined( WIN32 )
|
|
#define _based(a)
|
|
#endif
|
|
|
|
#ifndef RC_INVOKED
|
|
#include <dos.h> // needed for filetime
|
|
#endif /* RC_INVOKED */
|
|
|
|
#include <commdlg.h> // needed for LPPRINTDLG
|
|
#include <shellapi.h> // needed for HKEY
|
|
#include "ansiapi.h"
|
|
|
|
// String table defines...
|
|
#define IDS_OLESTDNOCREATEFILE 700
|
|
#define IDS_OLESTDNOOPENFILE 701
|
|
#define IDS_OLESTDDISKFULL 702
|
|
|
|
|
|
/*
|
|
* Some C interface declaration stuff
|
|
*/
|
|
|
|
#if ! defined(__cplusplus)
|
|
typedef struct tagINTERFACEIMPL {
|
|
IUnknownVtbl FAR* lpVtbl;
|
|
LPVOID lpBack;
|
|
int cRef; // interface specific ref count.
|
|
} INTERFACEIMPL, FAR* LPINTERFACEIMPL;
|
|
|
|
#define INIT_INTERFACEIMPL(lpIFace, pVtbl, pBack) \
|
|
((lpIFace)->lpVtbl = pVtbl, \
|
|
((LPINTERFACEIMPL)(lpIFace))->lpBack = (LPVOID)pBack, \
|
|
((LPINTERFACEIMPL)(lpIFace))->cRef = 0 \
|
|
)
|
|
|
|
#if defined( _DEBUG )
|
|
#define OleDbgQueryInterfaceMethod(lpUnk) \
|
|
((lpUnk) != NULL ? ((LPINTERFACEIMPL)(lpUnk))->cRef++ : 0)
|
|
#define OleDbgAddRefMethod(lpThis, iface) \
|
|
((LPINTERFACEIMPL)(lpThis))->cRef++
|
|
|
|
#if _DEBUGLEVEL >= 2
|
|
#define OleDbgReleaseMethod(lpThis, iface) \
|
|
(--((LPINTERFACEIMPL)(lpThis))->cRef == 0 ? \
|
|
OleDbgOut("\t" iface "* RELEASED (cRef == 0)\r\n"),1 : \
|
|
(((LPINTERFACEIMPL)(lpThis))->cRef < 0) ? \
|
|
( \
|
|
DebugBreak(), \
|
|
OleDbgOut( \
|
|
"\tERROR: " iface "* RELEASED TOO MANY TIMES\r\n") \
|
|
),1 : \
|
|
1)
|
|
|
|
#else // if _DEBUGLEVEL < 2
|
|
#define OleDbgReleaseMethod(lpThis, iface) \
|
|
(--((LPINTERFACEIMPL)(lpThis))->cRef == 0 ? \
|
|
1 : \
|
|
(((LPINTERFACEIMPL)(lpThis))->cRef < 0) ? \
|
|
( \
|
|
OleDbgOut( \
|
|
"\tERROR: " iface "* RELEASED TOO MANY TIMES\r\n") \
|
|
),1 : \
|
|
1)
|
|
|
|
#endif // if _DEBUGLEVEL < 2
|
|
|
|
#else // ! defined (_DEBUG)
|
|
|
|
#define OleDbgQueryInterfaceMethod(lpUnk)
|
|
#define OleDbgAddRefMethod(lpThis, iface)
|
|
#define OleDbgReleaseMethod(lpThis, iface)
|
|
|
|
#endif // if defined( _DEBUG )
|
|
|
|
#endif // ! defined(__cplusplus)
|
|
|
|
/*
|
|
* Some docfiles stuff
|
|
*/
|
|
|
|
#define STGM_DFRALL (STGM_READWRITE | STGM_TRANSACTED | STGM_SHARE_DENY_WRITE)
|
|
#define STGM_DFALL (STGM_READWRITE | STGM_TRANSACTED | STGM_SHARE_EXCLUSIVE)
|
|
#define STGM_SALL (STGM_READWRITE | STGM_SHARE_EXCLUSIVE)
|
|
|
|
/*
|
|
* Some Concurrency stuff
|
|
*/
|
|
|
|
/* standard Delay (in msec) to wait before retrying an LRPC call.
|
|
** this value is returned from IMessageFilter::RetryRejectedCall
|
|
*/
|
|
#define OLESTDRETRYDELAY (DWORD)5000
|
|
|
|
/* Cancel the pending outgoing LRPC call.
|
|
** this value is returned from IMessageFilter::RetryRejectedCall
|
|
*/
|
|
#define OLESTDCANCELRETRY (DWORD)-1
|
|
|
|
/*
|
|
* Some Icon support stuff.
|
|
*
|
|
* The following API's are now OBSOLETE because equivalent API's have been
|
|
* added to the OLE2.DLL library
|
|
* GetIconOfFile superceeded by OleGetIconOfFile
|
|
* GetIconOfClass superceeded by OleGetIconOfClass
|
|
* OleUIMetafilePictFromIconAndLabel
|
|
* superceeded by OleMetafilePictFromIconAndLabel
|
|
*
|
|
* The following macros are defined for backward compatibility with previous
|
|
* versions of the OLE2UI library. It is recommended that the new Ole* API's
|
|
* should be used instead.
|
|
*/
|
|
#define GetIconOfFile(hInst, lpszFileName, fUseFileAsLabel) \
|
|
OleGetIconOfFile(lpszFileName, fUseFileAsLabel)
|
|
|
|
#define GetIconOfClass(hInst, rclsid, lpszLabel, fUseTypeAsLabel) \
|
|
OleGetIconOfClass(rclsid, lpszLabel, fUseTypeAsLabel)
|
|
|
|
#define OleUIMetafilePictFromIconAndLabel(hIcon,pszLabel,pszSourceFile,iIcon)\
|
|
OleMetafilePictFromIconAndLabel(hIcon, pszLabel, pszSourceFile, iIcon)
|
|
|
|
|
|
/*
|
|
* Some Clipboard Copy/Paste & Drag/Drop support stuff
|
|
*/
|
|
|
|
//Macro to set all FormatEtc fields
|
|
#define SETFORMATETC(fe, cf, asp, td, med, li) \
|
|
((fe).cfFormat=cf, \
|
|
(fe).dwAspect=asp, \
|
|
(fe).ptd=td, \
|
|
(fe).tymed=med, \
|
|
(fe).lindex=li)
|
|
|
|
//Macro to set interesting FormatEtc fields defaulting the others.
|
|
#define SETDEFAULTFORMATETC(fe, cf, med) \
|
|
((fe).cfFormat=cf, \
|
|
(fe).dwAspect=DVASPECT_CONTENT, \
|
|
(fe).ptd=NULL, \
|
|
(fe).tymed=med, \
|
|
(fe).lindex=-1)
|
|
|
|
// Macro to test if two FormatEtc structures are an exact match
|
|
#define IsEqualFORMATETC(fe1, fe2) \
|
|
(OleStdCompareFormatEtc(&(fe1), &(fe2))==0)
|
|
|
|
// Clipboard format strings
|
|
#define CF_EMBEDSOURCE TEXT("Embed Source")
|
|
#define CF_EMBEDDEDOBJECT TEXT("Embedded Object")
|
|
#define CF_LINKSOURCE TEXT("Link Source")
|
|
#define CF_CUSTOMLINKSOURCE TEXT("Custom Link Source")
|
|
#define CF_OBJECTDESCRIPTOR TEXT("Object Descriptor")
|
|
#define CF_LINKSRCDESCRIPTOR TEXT("Link Source Descriptor")
|
|
#define CF_OWNERLINK TEXT("OwnerLink")
|
|
#define CF_FILENAME TEXT("FileName")
|
|
|
|
#define OleStdQueryOleObjectData(lpformatetc) \
|
|
(((lpformatetc)->tymed & TYMED_ISTORAGE) ? \
|
|
NOERROR : ResultFromScode(DV_E_FORMATETC))
|
|
|
|
#define OleStdQueryLinkSourceData(lpformatetc) \
|
|
(((lpformatetc)->tymed & TYMED_ISTREAM) ? \
|
|
NOERROR : ResultFromScode(DV_E_FORMATETC))
|
|
|
|
#define OleStdQueryObjectDescriptorData(lpformatetc) \
|
|
(((lpformatetc)->tymed & TYMED_HGLOBAL) ? \
|
|
NOERROR : ResultFromScode(DV_E_FORMATETC))
|
|
|
|
#define OleStdQueryFormatMedium(lpformatetc, tymd) \
|
|
(((lpformatetc)->tymed & tymd) ? \
|
|
NOERROR : ResultFromScode(DV_E_FORMATETC))
|
|
|
|
// Make an independent copy of a MetafilePict
|
|
#define OleStdCopyMetafilePict(hpictin, phpictout) \
|
|
(*(phpictout) = OleDuplicateData(hpictin,CF_METAFILEPICT,GHND|GMEM_SHARE))
|
|
|
|
|
|
// REVIEW: these need to be added to OLE2.H
|
|
#if !defined( DD_DEFSCROLLINTERVAL )
|
|
#define DD_DEFSCROLLINTERVAL 50
|
|
#endif
|
|
|
|
#if !defined( DD_DEFDRAGDELAY )
|
|
#define DD_DEFDRAGDELAY 200
|
|
#endif
|
|
|
|
#if !defined( DD_DEFDRAGMINDIST )
|
|
#define DD_DEFDRAGMINDIST 2
|
|
#endif
|
|
|
|
|
|
/* OleStdGetDropEffect
|
|
** -------------------
|
|
**
|
|
** Convert a keyboard state into a DROPEFFECT.
|
|
**
|
|
** returns the DROPEFFECT value derived from the key state.
|
|
** the following is the standard interpretation:
|
|
** no modifier -- Default Drop (NULL is returned)
|
|
** CTRL -- DROPEFFECT_COPY
|
|
** SHIFT -- DROPEFFECT_MOVE
|
|
** CTRL-SHIFT -- DROPEFFECT_LINK
|
|
**
|
|
** Default Drop: this depends on the type of the target application.
|
|
** this is re-interpretable by each target application. a typical
|
|
** interpretation is if the drag is local to the same document
|
|
** (which is source of the drag) then a MOVE operation is
|
|
** performed. if the drag is not local, then a COPY operation is
|
|
** performed.
|
|
*/
|
|
#define OleStdGetDropEffect(grfKeyState) \
|
|
( (grfKeyState & MK_CONTROL) ? \
|
|
( (grfKeyState & MK_SHIFT) ? DROPEFFECT_LINK : DROPEFFECT_COPY ) : \
|
|
( (grfKeyState & MK_SHIFT) ? DROPEFFECT_MOVE : 0 ) )
|
|
|
|
|
|
#define OLESTDDROP_NONE 0
|
|
#define OLESTDDROP_DEFAULT 1
|
|
#define OLESTDDROP_NONDEFAULT 2
|
|
|
|
|
|
/*
|
|
* Some misc stuff
|
|
*/
|
|
|
|
#define EMBEDDINGFLAG "Embedding" // Cmd line switch for launching a srvr
|
|
|
|
#define HIMETRIC_PER_INCH 2540 // number HIMETRIC units per inch
|
|
#define PTS_PER_INCH 72 // number points (font size) per inch
|
|
|
|
#define MAP_PIX_TO_LOGHIM(x,ppli) MulDiv(HIMETRIC_PER_INCH, (x), (ppli))
|
|
#define MAP_LOGHIM_TO_PIX(x,ppli) MulDiv((ppli), (x), HIMETRIC_PER_INCH)
|
|
|
|
// Returns TRUE if all fields of the two Rect's are equal, else FALSE.
|
|
#define AreRectsEqual(lprc1, lprc2) \
|
|
(((lprc1->top == lprc2->top) && \
|
|
(lprc1->left == lprc2->left) && \
|
|
(lprc1->right == lprc2->right) && \
|
|
(lprc1->bottom == lprc2->bottom)) ? TRUE : FALSE)
|
|
|
|
#define LSTRCPYN(lpdst, lpsrc, cch) \
|
|
(\
|
|
(lpdst)[(cch)-1] = '\0', \
|
|
((cch)>1 ? _fstrncpy(lpdst, lpsrc, (cch)-1) : 0)\
|
|
)
|
|
|
|
|
|
|
|
/****** DEBUG Stuff *****************************************************/
|
|
|
|
#ifdef _DEBUG
|
|
|
|
#if !defined( _DBGTRACE )
|
|
#define _DEBUGLEVEL 2
|
|
#else
|
|
#define _DEBUGLEVEL _DBGTRACE
|
|
#endif
|
|
|
|
|
|
#if defined( NOASSERT )
|
|
|
|
#define OLEDBGASSERTDATA
|
|
#define OleDbgAssert(a)
|
|
#define OleDbgAssertSz(a, b)
|
|
#define OleDbgVerify(a)
|
|
#define OleDbgVerifySz(a, b)
|
|
|
|
#else // ! NOASSERT
|
|
|
|
#define OLEDBGASSERTDATA \
|
|
static char _based(_segname("_CODE")) _szAssertFile[]= __FILE__;
|
|
|
|
#define OleDbgAssert(a) \
|
|
(!(a) ? FnAssert(#a, NULL, _szAssertFile, __LINE__) : (HRESULT)1)
|
|
|
|
#define OleDbgAssertSz(a, b) \
|
|
(!(a) ? FnAssert(#a, b, _szAssertFile, __LINE__) : (HRESULT)1)
|
|
|
|
#define OleDbgVerify(a) \
|
|
OleDbgAssert(a)
|
|
|
|
#define OleDbgVerifySz(a, b) \
|
|
OleDbgAssertSz(a, b)
|
|
|
|
#endif // ! NOASSERT
|
|
|
|
|
|
#define OLEDBGDATA_MAIN(szPrefix) \
|
|
char near g_szDbgPrefix[] = szPrefix; \
|
|
OLEDBGASSERTDATA
|
|
#define OLEDBGDATA \
|
|
extern char near g_szDbgPrefix[]; \
|
|
OLEDBGASSERTDATA
|
|
|
|
#define OLEDBG_BEGIN(lpsz) \
|
|
OleDbgPrintAlways(g_szDbgPrefix,lpsz,1);
|
|
|
|
#define OLEDBG_END \
|
|
OleDbgPrintAlways(g_szDbgPrefix,"End\r\n",-1);
|
|
|
|
#define OleDbgOut(lpsz) \
|
|
OleDbgPrintAlways(g_szDbgPrefix,lpsz,0)
|
|
|
|
#define OleDbgOutNoPrefix(lpsz) \
|
|
OleDbgPrintAlways("",lpsz,0)
|
|
|
|
#define OleDbgOutRefCnt(lpsz,lpObj,refcnt) \
|
|
OleDbgPrintRefCntAlways(g_szDbgPrefix,lpsz,lpObj,(ULONG)refcnt)
|
|
|
|
#define OleDbgOutRect(lpsz,lpRect) \
|
|
OleDbgPrintRectAlways(g_szDbgPrefix,lpsz,lpRect)
|
|
|
|
#define OleDbgOutHResult(lpsz,hr) \
|
|
OleDbgPrintScodeAlways(g_szDbgPrefix,lpsz,GetScode(hr))
|
|
|
|
#define OleDbgOutScode(lpsz,sc) \
|
|
OleDbgPrintScodeAlways(g_szDbgPrefix,lpsz,sc)
|
|
|
|
#define OleDbgOut1(lpsz) \
|
|
OleDbgPrint(1,g_szDbgPrefix,lpsz,0)
|
|
|
|
#define OleDbgOutNoPrefix1(lpsz) \
|
|
OleDbgPrint(1,"",lpsz,0)
|
|
|
|
#define OLEDBG_BEGIN1(lpsz) \
|
|
OleDbgPrint(1,g_szDbgPrefix,lpsz,1);
|
|
|
|
#define OLEDBG_END1 \
|
|
OleDbgPrint(1,g_szDbgPrefix,"End\r\n",-1);
|
|
|
|
#define OleDbgOutRefCnt1(lpsz,lpObj,refcnt) \
|
|
OleDbgPrintRefCnt(1,g_szDbgPrefix,lpsz,lpObj,(ULONG)refcnt)
|
|
|
|
#define OleDbgOutRect1(lpsz,lpRect) \
|
|
OleDbgPrintRect(1,g_szDbgPrefix,lpsz,lpRect)
|
|
|
|
#define OleDbgOut2(lpsz) \
|
|
OleDbgPrint(2,g_szDbgPrefix,lpsz,0)
|
|
|
|
#define OleDbgOutNoPrefix2(lpsz) \
|
|
OleDbgPrint(2,"",lpsz,0)
|
|
|
|
#define OLEDBG_BEGIN2(lpsz) \
|
|
OleDbgPrint(2,g_szDbgPrefix,lpsz,1);
|
|
|
|
#define OLEDBG_END2 \
|
|
OleDbgPrint(2,g_szDbgPrefix,"End\r\n",-1);
|
|
|
|
#define OleDbgOutRefCnt2(lpsz,lpObj,refcnt) \
|
|
OleDbgPrintRefCnt(2,g_szDbgPrefix,lpsz,lpObj,(ULONG)refcnt)
|
|
|
|
#define OleDbgOutRect2(lpsz,lpRect) \
|
|
OleDbgPrintRect(2,g_szDbgPrefix,lpsz,lpRect)
|
|
|
|
#define OleDbgOut3(lpsz) \
|
|
OleDbgPrint(3,g_szDbgPrefix,lpsz,0)
|
|
|
|
#define OleDbgOutNoPrefix3(lpsz) \
|
|
OleDbgPrint(3,"",lpsz,0)
|
|
|
|
#define OLEDBG_BEGIN3(lpsz) \
|
|
OleDbgPrint(3,g_szDbgPrefix,lpsz,1);
|
|
|
|
#define OLEDBG_END3 \
|
|
OleDbgPrint(3,g_szDbgPrefix,"End\r\n",-1);
|
|
|
|
#define OleDbgOutRefCnt3(lpsz,lpObj,refcnt) \
|
|
OleDbgPrintRefCnt(3,g_szDbgPrefix,lpsz,lpObj,(ULONG)refcnt)
|
|
|
|
#define OleDbgOutRect3(lpsz,lpRect) \
|
|
OleDbgPrintRect(3,g_szDbgPrefix,lpsz,lpRect)
|
|
|
|
#define OleDbgOut4(lpsz) \
|
|
OleDbgPrint(4,g_szDbgPrefix,lpsz,0)
|
|
|
|
#define OleDbgOutNoPrefix4(lpsz) \
|
|
OleDbgPrint(4,"",lpsz,0)
|
|
|
|
#define OLEDBG_BEGIN4(lpsz) \
|
|
OleDbgPrint(4,g_szDbgPrefix,lpsz,1);
|
|
|
|
#define OLEDBG_END4 \
|
|
OleDbgPrint(4,g_szDbgPrefix,"End\r\n",-1);
|
|
|
|
#define OleDbgOutRefCnt4(lpsz,lpObj,refcnt) \
|
|
OleDbgPrintRefCnt(4,g_szDbgPrefix,lpsz,lpObj,(ULONG)refcnt)
|
|
|
|
#define OleDbgOutRect4(lpsz,lpRect) \
|
|
OleDbgPrintRect(4,g_szDbgPrefix,lpsz,lpRect)
|
|
|
|
#else // !_DEBUG
|
|
|
|
#define OLEDBGDATA_MAIN(szPrefix)
|
|
#define OLEDBGDATA
|
|
#define OleDbgAssert(a)
|
|
#define OleDbgAssertSz(a, b)
|
|
#define OleDbgVerify(a) (a)
|
|
#define OleDbgVerifySz(a, b) (a)
|
|
#define OleDbgOutHResult(lpsz,hr)
|
|
#define OleDbgOutScode(lpsz,sc)
|
|
#define OLEDBG_BEGIN(lpsz)
|
|
#define OLEDBG_END
|
|
#define OleDbgOut(lpsz)
|
|
#define OleDbgOut1(lpsz)
|
|
#define OleDbgOut2(lpsz)
|
|
#define OleDbgOut3(lpsz)
|
|
#define OleDbgOut4(lpsz)
|
|
#define OleDbgOutNoPrefix(lpsz)
|
|
#define OleDbgOutNoPrefix1(lpsz)
|
|
#define OleDbgOutNoPrefix2(lpsz)
|
|
#define OleDbgOutNoPrefix3(lpsz)
|
|
#define OleDbgOutNoPrefix4(lpsz)
|
|
#define OLEDBG_BEGIN1(lpsz)
|
|
#define OLEDBG_BEGIN2(lpsz)
|
|
#define OLEDBG_BEGIN3(lpsz)
|
|
#define OLEDBG_BEGIN4(lpsz)
|
|
#define OLEDBG_END1
|
|
#define OLEDBG_END2
|
|
#define OLEDBG_END3
|
|
#define OLEDBG_END4
|
|
#define OleDbgOutRefCnt(lpsz,lpObj,refcnt)
|
|
#define OleDbgOutRefCnt1(lpsz,lpObj,refcnt)
|
|
#define OleDbgOutRefCnt2(lpsz,lpObj,refcnt)
|
|
#define OleDbgOutRefCnt3(lpsz,lpObj,refcnt)
|
|
#define OleDbgOutRefCnt4(lpsz,lpObj,refcnt)
|
|
#define OleDbgOutRect(lpsz,lpRect)
|
|
#define OleDbgOutRect1(lpsz,lpRect)
|
|
#define OleDbgOutRect2(lpsz,lpRect)
|
|
#define OleDbgOutRect3(lpsz,lpRect)
|
|
#define OleDbgOutRect4(lpsz,lpRect)
|
|
|
|
#endif // _DEBUG
|
|
|
|
|
|
/*************************************************************************
|
|
** Function prototypes
|
|
*************************************************************************/
|
|
|
|
|
|
//OLESTD.C
|
|
STDAPI_(int) SetDCToAnisotropic(HDC hDC, LPRECT lprcPhysical, LPRECT lprcLogical, LPRECT lprcWindowOld, LPRECT lprcViewportOld);
|
|
STDAPI_(int) SetDCToDrawInHimetricRect(HDC, LPRECT, LPRECT, LPRECT, LPRECT);
|
|
STDAPI_(int) ResetOrigDC(HDC, int, LPRECT, LPRECT);
|
|
|
|
STDAPI_(int) XformWidthInHimetricToPixels(HDC, int);
|
|
STDAPI_(int) XformWidthInPixelsToHimetric(HDC, int);
|
|
STDAPI_(int) XformHeightInHimetricToPixels(HDC, int);
|
|
STDAPI_(int) XformHeightInPixelsToHimetric(HDC, int);
|
|
|
|
STDAPI_(void) XformRectInPixelsToHimetric(HDC, LPRECT, LPRECT);
|
|
STDAPI_(void) XformRectInHimetricToPixels(HDC, LPRECT, LPRECT);
|
|
STDAPI_(void) XformSizeInPixelsToHimetric(HDC, LPSIZEL, LPSIZEL);
|
|
STDAPI_(void) XformSizeInHimetricToPixels(HDC, LPSIZEL, LPSIZEL);
|
|
STDAPI_(int) XformWidthInHimetricToPixels(HDC, int);
|
|
STDAPI_(int) XformWidthInPixelsToHimetric(HDC, int);
|
|
STDAPI_(int) XformHeightInHimetricToPixels(HDC, int);
|
|
STDAPI_(int) XformHeightInPixelsToHimetric(HDC, int);
|
|
|
|
STDAPI_(void) ParseCmdLine(LPSTR, BOOL FAR *, LPSTR);
|
|
|
|
STDAPI_(BOOL) OleStdIsOleLink(LPUNKNOWN lpUnk);
|
|
STDAPI_(LPUNKNOWN) OleStdQueryInterface(LPUNKNOWN lpUnk, REFIID riid);
|
|
STDAPI_(LPSTORAGE) OleStdCreateRootStorage(LPOLESTR lpszStgName, DWORD grfMode);
|
|
STDAPI_(LPSTORAGE) OleStdOpenRootStorage(LPOLESTR lpszStgName, DWORD grfMode);
|
|
STDAPI_(LPSTORAGE) OleStdOpenOrCreateRootStorage(LPOLESTR lpszStgName, DWORD grfMode);
|
|
STDAPI_(LPSTORAGE) OleStdCreateChildStorage(LPSTORAGE lpStg, LPOLESTR lpszStgName);
|
|
STDAPI_(LPSTORAGE) OleStdOpenChildStorage(LPSTORAGE lpStg, LPOLESTR lpszStgName, DWORD grfMode);
|
|
STDAPI_(BOOL) OleStdCommitStorage(LPSTORAGE lpStg);
|
|
STDAPI OleStdDestroyAllElements(LPSTORAGE lpStg);
|
|
|
|
STDAPI_(LPSTORAGE) OleStdCreateStorageOnHGlobal(
|
|
HANDLE hGlobal,
|
|
BOOL fDeleteOnRelease,
|
|
DWORD dwgrfMode
|
|
);
|
|
STDAPI_(LPSTORAGE) OleStdCreateTempStorage(BOOL fUseMemory, DWORD grfMode);
|
|
STDAPI OleStdDoConvert(LPSTORAGE lpStg, REFCLSID rClsidNew);
|
|
STDAPI_(BOOL) OleStdGetTreatAsFmtUserType(
|
|
REFCLSID rClsidApp,
|
|
LPSTORAGE lpStg,
|
|
CLSID FAR* lpclsid,
|
|
CLIPFORMAT FAR* lpcfFmt,
|
|
LPOLESTR FAR* lplpszType
|
|
);
|
|
STDAPI OleStdDoTreatAsClass(LPOLESTR lpszUserType, REFCLSID rclsid, REFCLSID rclsidNew);
|
|
STDAPI_(BOOL) OleStdSetupAdvises(LPOLEOBJECT lpOleObject, DWORD dwDrawAspect,
|
|
LPOLESTR lpszContainerApp, LPOLESTR lpszContainerObj,
|
|
LPADVISESINK lpAdviseSink, BOOL fCreate);
|
|
STDAPI OleStdSwitchDisplayAspect(
|
|
LPOLEOBJECT lpOleObj,
|
|
LPDWORD lpdwCurAspect,
|
|
DWORD dwNewAspect,
|
|
HGLOBAL hMetaPict,
|
|
BOOL fDeleteOldAspect,
|
|
BOOL fSetupViewAdvise,
|
|
LPADVISESINK lpAdviseSink,
|
|
BOOL FAR* lpfMustUpdate
|
|
);
|
|
STDAPI OleStdSetIconInCache(LPOLEOBJECT lpOleObj, HGLOBAL hMetaPict);
|
|
STDAPI_(HGLOBAL) OleStdGetData(
|
|
LPDATAOBJECT lpDataObj,
|
|
CLIPFORMAT cfFormat,
|
|
DVTARGETDEVICE FAR* lpTargetDevice,
|
|
DWORD dwAspect,
|
|
LPSTGMEDIUM lpMedium
|
|
);
|
|
STDAPI_(void) OleStdMarkPasteEntryList(
|
|
LPDATAOBJECT lpSrcDataObj,
|
|
LPOLEUIPASTEENTRY lpPriorityList,
|
|
int cEntries
|
|
);
|
|
STDAPI_(int) OleStdGetPriorityClipboardFormat(
|
|
LPDATAOBJECT lpSrcDataObj,
|
|
LPOLEUIPASTEENTRY lpPriorityList,
|
|
int cEntries
|
|
);
|
|
STDAPI_(BOOL) OleStdIsDuplicateFormat(
|
|
LPFORMATETC lpFmtEtc,
|
|
LPFORMATETC arrFmtEtc,
|
|
int nFmtEtc
|
|
);
|
|
STDAPI_(void) OleStdRegisterAsRunning(LPUNKNOWN lpUnk, LPMONIKER lpmkFull, DWORD FAR* lpdwRegister);
|
|
STDAPI_(void) OleStdRevokeAsRunning(DWORD FAR* lpdwRegister);
|
|
STDAPI_(void) OleStdNoteFileChangeTime(LPOLESTR lpszFileName, DWORD dwRegister);
|
|
STDAPI_(void) OleStdNoteObjectChangeTime(DWORD dwRegister);
|
|
STDAPI OleStdGetOleObjectData(
|
|
LPPERSISTSTORAGE lpPStg,
|
|
LPFORMATETC lpformatetc,
|
|
LPSTGMEDIUM lpMedium,
|
|
BOOL fUseMemory
|
|
);
|
|
STDAPI OleStdGetLinkSourceData(
|
|
LPMONIKER lpmk,
|
|
LPCLSID lpClsID,
|
|
LPFORMATETC lpformatetc,
|
|
LPSTGMEDIUM lpMedium
|
|
);
|
|
STDAPI_(HGLOBAL) OleStdGetObjectDescriptorData(
|
|
CLSID clsid,
|
|
DWORD dwAspect,
|
|
SIZEL sizel,
|
|
POINTL pointl,
|
|
DWORD dwStatus,
|
|
LPOLESTR lpszFullUserTypeName,
|
|
LPOLESTR lpszSrcOfCopy
|
|
);
|
|
STDAPI_(HGLOBAL) OleStdGetObjectDescriptorDataFromOleObject(
|
|
LPOLEOBJECT lpOleObj,
|
|
LPOLESTR lpszSrcOfCopy,
|
|
DWORD dwAspect,
|
|
POINTL pointl,
|
|
LPSIZEL lpSizelHim
|
|
);
|
|
STDAPI_(HGLOBAL) OleStdFillObjectDescriptorFromData(
|
|
LPDATAOBJECT lpDataObject,
|
|
LPSTGMEDIUM lpmedium,
|
|
CLIPFORMAT FAR* lpcfFmt
|
|
);
|
|
STDAPI_(HANDLE) OleStdGetMetafilePictFromOleObject(
|
|
LPOLEOBJECT lpOleObj,
|
|
DWORD dwDrawAspect,
|
|
LPSIZEL lpSizelHim,
|
|
DVTARGETDEVICE FAR* ptd
|
|
);
|
|
|
|
STDAPI_(void) OleStdCreateTempFileMoniker(LPOLESTR lpszPrefixString, UINT FAR* lpuUnique, LPOLESTR lpszName, LPMONIKER FAR* lplpmk);
|
|
STDAPI_(LPMONIKER) OleStdGetFirstMoniker(LPMONIKER lpmk);
|
|
STDAPI_(ULONG) OleStdGetLenFilePrefixOfMoniker(LPMONIKER lpmk);
|
|
STDAPI OleStdMkParseDisplayName(
|
|
REFCLSID rClsid,
|
|
LPBC lpbc,
|
|
LPOLESTR lpszUserName,
|
|
ULONG FAR* lpchEaten,
|
|
LPMONIKER FAR* lplpmk
|
|
);
|
|
STDAPI_(LPVOID) OleStdMalloc(ULONG ulSize);
|
|
STDAPI_(LPVOID) OleStdRealloc(LPVOID pmem, ULONG ulSize);
|
|
STDAPI_(void) OleStdFree(LPVOID pmem);
|
|
STDAPI_(ULONG) OleStdGetSize(LPVOID pmem);
|
|
STDAPI_(void) OleStdFreeString(LPOLESTR lpsz, LPMALLOC lpMalloc);
|
|
STDAPI_(LPOLESTR) OleStdCopyString(LPOLESTR lpszSrc, LPMALLOC lpMalloc);
|
|
STDAPI_(ULONG) OleStdGetItemToken(LPOLESTR lpszSrc, LPOLESTR lpszDst,int nMaxChars);
|
|
|
|
STDAPI_(UINT) OleStdIconLabelTextOut(HDC hDC,
|
|
HFONT hFont,
|
|
int nXStart,
|
|
int nYStart,
|
|
UINT fuOptions,
|
|
RECT FAR * lpRect,
|
|
LPOLESTR lpszString,
|
|
UINT cchString,
|
|
int FAR * lpDX);
|
|
|
|
// registration database query functions
|
|
STDAPI_(UINT) OleStdGetAuxUserType(REFCLSID rclsid,
|
|
WORD wAuxUserType,
|
|
LPOLESTR lpszAuxUserType,
|
|
int cch,
|
|
HKEY hKey);
|
|
|
|
STDAPI_(UINT) OleStdGetUserTypeOfClass(REFCLSID rclsid,
|
|
LPOLESTR lpszUserType,
|
|
UINT cch,
|
|
HKEY hKey);
|
|
|
|
STDAPI_(BOOL) OleStdGetMiscStatusOfClass(REFCLSID, HKEY, DWORD FAR *);
|
|
STDAPI_(CLIPFORMAT) OleStdGetDefaultFileFormatOfClass(
|
|
REFCLSID rclsid,
|
|
HKEY hKey
|
|
);
|
|
|
|
STDAPI_(void) OleStdInitVtbl(LPVOID lpVtbl, UINT nSizeOfVtbl);
|
|
STDMETHODIMP OleStdNullMethod(LPUNKNOWN lpThis);
|
|
STDAPI_(BOOL) OleStdCheckVtbl(LPVOID lpVtbl, UINT nSizeOfVtbl, LPOLESTR lpszIface);
|
|
STDAPI_(ULONG) OleStdVerifyRelease(LPUNKNOWN lpUnk, LPOLESTR lpszMsg);
|
|
STDAPI_(ULONG) OleStdRelease(LPUNKNOWN lpUnk);
|
|
|
|
STDAPI_(HDC) OleStdCreateDC(DVTARGETDEVICE FAR* ptd);
|
|
STDAPI_(HDC) OleStdCreateIC(DVTARGETDEVICE FAR* ptd);
|
|
STDAPI_(DVTARGETDEVICE FAR*) OleStdCreateTargetDevice(LPPRINTDLG lpPrintDlg);
|
|
STDAPI_(BOOL) OleStdDeleteTargetDevice(DVTARGETDEVICE FAR* ptd);
|
|
STDAPI_(DVTARGETDEVICE FAR*) OleStdCopyTargetDevice(DVTARGETDEVICE FAR* ptdSrc);
|
|
STDAPI_(BOOL) OleStdCopyFormatEtc(LPFORMATETC petcDest, LPFORMATETC petcSrc);
|
|
STDAPI_(int) OleStdCompareFormatEtc(FORMATETC FAR* pFetcLeft, FORMATETC FAR* pFetcRight);
|
|
STDAPI_(BOOL) OleStdCompareTargetDevice
|
|
(DVTARGETDEVICE FAR* ptdLeft, DVTARGETDEVICE FAR* ptdRight);
|
|
|
|
|
|
STDAPI_(void) OleDbgPrint(
|
|
int nDbgLvl,
|
|
LPSTR lpszPrefix,
|
|
LPSTR lpszMsg,
|
|
int nIndent
|
|
);
|
|
STDAPI_(void) OleDbgPrintAlways(LPSTR lpszPrefix, LPSTR lpszMsg, int nIndent);
|
|
STDAPI_(void) OleDbgSetDbgLevel(int nDbgLvl);
|
|
STDAPI_(int) OleDbgGetDbgLevel( void );
|
|
STDAPI_(void) OleDbgIndent(int n);
|
|
STDAPI_(void) OleDbgPrintRefCnt(
|
|
int nDbgLvl,
|
|
LPSTR lpszPrefix,
|
|
LPSTR lpszMsg,
|
|
LPVOID lpObj,
|
|
ULONG refcnt
|
|
);
|
|
STDAPI_(void) OleDbgPrintRefCntAlways(
|
|
LPSTR lpszPrefix,
|
|
LPSTR lpszMsg,
|
|
LPVOID lpObj,
|
|
ULONG refcnt
|
|
);
|
|
STDAPI_(void) OleDbgPrintRect(
|
|
int nDbgLvl,
|
|
LPSTR lpszPrefix,
|
|
LPSTR lpszMsg,
|
|
LPRECT lpRect
|
|
);
|
|
STDAPI_(void) OleDbgPrintRectAlways(
|
|
LPSTR lpszPrefix,
|
|
LPSTR lpszMsg,
|
|
LPRECT lpRect
|
|
);
|
|
STDAPI_(void) OleDbgPrintScodeAlways(LPSTR lpszPrefix, LPSTR lpszMsg, SCODE sc);
|
|
|
|
|
|
STDAPI_(LPENUMFORMATETC)
|
|
OleStdEnumFmtEtc_Create(ULONG nCount, LPFORMATETC lpEtc);
|
|
|
|
STDAPI_(LPENUMSTATDATA)
|
|
OleStdEnumStatData_Create(ULONG nCount, LPSTATDATA lpStat);
|
|
|
|
STDAPI_(BOOL)
|
|
OleStdCopyStatData(LPSTATDATA pDest, LPSTATDATA pSrc);
|
|
|
|
STDAPI_(HPALETTE)
|
|
OleStdCreateStandardPalette(void);
|
|
|
|
#if defined( OBSOLETE )
|
|
|
|
/*************************************************************************
|
|
** The following API's have been converted into macros:
|
|
** OleStdQueryOleObjectData
|
|
** OleStdQueryLinkSourceData
|
|
** OleStdQueryObjectDescriptorData
|
|
** OleStdQueryFormatMedium
|
|
** OleStdCopyMetafilePict
|
|
** AreRectsEqual
|
|
** OleStdGetDropEffect
|
|
**
|
|
** These macros are defined above
|
|
*************************************************************************/
|
|
STDAPI_(BOOL) AreRectsEqual(LPRECT lprc1, LPRECT lprc2);
|
|
STDAPI_(BOOL) OleStdCopyMetafilePict(HANDLE hpictin, HANDLE FAR* phpictout);
|
|
STDAPI OleStdQueryOleObjectData(LPFORMATETC lpformatetc);
|
|
STDAPI OleStdQueryLinkSourceData(LPFORMATETC lpformatetc);
|
|
STDAPI OleStdQueryObjectDescriptorData(LPFORMATETC lpformatetc);
|
|
STDAPI OleStdQueryFormatMedium(LPFORMATETC lpformatetc, TYMED tymed);
|
|
STDAPI_(DWORD) OleStdGetDropEffect ( DWORD grfKeyState );
|
|
#endif // OBSOLETE
|
|
|
|
// END OF OLD OLESTD.H FILE
|
|
|
|
#define UPDATELINKS_STARTDELAY 2000 // delay before first link
|
|
|
|
#ifdef __TURBOC__
|
|
#define _getcwd getcwd
|
|
#define _itoa itoa
|
|
#define __max max
|
|
#define _find_t find_t
|
|
#endif // __TURBOC__
|
|
|
|
#ifdef WIN32
|
|
#define _fmemset memset
|
|
#define _fmemcpy memcpy
|
|
#define _fmemcmp memcmp
|
|
#define _fstrcpy strcpy
|
|
#define _fstrncpy strncpy
|
|
#define _fstrlen strlen
|
|
#define _fstrrchr strrchr
|
|
#define _fstrtok strtok
|
|
|
|
// BUGBUG32: isspace function does not seem to work properly
|
|
#undef isspace
|
|
#define isspace(j) (j==' ' || j=='\t' || j=='\n')
|
|
#endif // WIN32
|
|
|
|
#if !defined( EXPORT )
|
|
#ifdef WIN32
|
|
#define EXPORT
|
|
#else
|
|
#define EXPORT __export
|
|
#endif // WIN32
|
|
#endif // !EXPORT
|
|
|
|
/*
|
|
* Initialization / Uninitialization routines. OleStdInitialize
|
|
* must be called prior to using any functions in OLESTD.LIB.
|
|
*/
|
|
|
|
STDAPI_(BOOL) OleStdInitialize(HINSTANCE hInstance);
|
|
STDAPI_(void) OleStdUninitialize(void);
|
|
|
|
// object count, used to support DllCanUnloadNow and OleUICanUnloadNow
|
|
extern DWORD g_dwObjectCount;
|
|
|
|
STDAPI OleUICanUnloadNow(void);
|
|
STDAPI OleUILockLibrary(BOOL fLock);
|
|
|
|
|
|
//Dialog Identifiers as passed in Help messages to identify the source.
|
|
#define IDD_FILEOPEN 32253
|
|
|
|
// The following Dialogs are message dialogs used by OleUIPromptUser API
|
|
|
|
// Stringtable identifers
|
|
#define IDS_OLE2UIUNKNOWN 32300
|
|
#define IDS_OLE2UILINK 32301
|
|
#define IDS_OLE2UIOBJECT 32302
|
|
#define IDS_OLE2UIEDIT 32303
|
|
#define IDS_OLE2UICONVERT 32304
|
|
#define IDS_OLE2UIEDITLINKCMD_1VERB 32305
|
|
#define IDS_OLE2UIEDITOBJECTCMD_1VERB 32306
|
|
#define IDS_OLE2UIEDITLINKCMD_NVERB 32307
|
|
#define IDS_OLE2UIEDITOBJECTCMD_NVERB 32308
|
|
#define IDS_OLE2UIEDITNOOBJCMD 32309
|
|
// def. icon label (usu. "Document")
|
|
#define IDS_DEFICONLABEL 32310
|
|
#define IDS_OLE2UIPASTELINKEDTYPE 32311
|
|
|
|
|
|
#define IDS_FILTERS 32320
|
|
#define IDS_ICONFILTERS 32321
|
|
#define IDS_BROWSE 32322
|
|
|
|
//Resource identifiers for bitmaps
|
|
#define IDB_RESULTSEGA 32325
|
|
#define IDB_RESULTSVGA 32326
|
|
#define IDB_RESULTSHIRESVGA 32327
|
|
|
|
|
|
//Missing from windows.h
|
|
#ifndef PVOID
|
|
typedef VOID *PVOID;
|
|
#endif
|
|
|
|
|
|
//Hook type used in all structures.
|
|
typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
|
|
|
|
|
|
//Strings for registered messages
|
|
#define SZOLEUI_MSG_FILEOKSTRING "OLEUI_MSG_FILEOKSTRING"
|
|
|
|
|
|
//Help Button Identifier
|
|
#define ID_OLEUIHELP 99
|
|
|
|
// Static text control (use this instead of -1 so things work correctly for
|
|
// localization
|
|
#define ID_STATIC 98
|
|
|
|
//Maximum key size we read from the RegDB.
|
|
#define OLEUI_CCHKEYMAX 256 // make any changes to this in geticon.c too
|
|
|
|
//Maximum verb length and length of Object menu
|
|
#define OLEUI_CCHVERBMAX 32
|
|
#define OLEUI_OBJECTMENUMAX 256
|
|
|
|
//Maximum MS-DOS pathname.
|
|
#define OLEUI_CCHPATHMAX 256 // make any changes to this in geticon.c too
|
|
#define OLEUI_CCHFILEMAX 13
|
|
|
|
//Icon label length
|
|
#define OLEUI_CCHLABELMAX 40 // make any changes to this in geticon.c too
|
|
|
|
//Length of the CLSID string
|
|
#define OLEUI_CCHCLSIDSTRING 39
|
|
|
|
|
|
//Metafile utility functions
|
|
WINOLEAPI_(HGLOBAL) OleUIMetafilePictFromIconAndLabel(HICON, LPOLESTR, LPOLESTR, UINT);
|
|
STDAPI_(void) OleUIMetafilePictIconFree(HGLOBAL);
|
|
STDAPI_(BOOL) OleUIMetafilePictIconDraw(HDC, LPRECT, HGLOBAL, BOOL);
|
|
STDAPI_(UINT) OleUIMetafilePictExtractLabel(HGLOBAL, LPOLESTR, UINT, LPDWORD);
|
|
STDAPI_(HICON) OleUIMetafilePictExtractIcon(HGLOBAL);
|
|
STDAPI_(BOOL) OleUIMetafilePictExtractIconSource(HGLOBAL,LPOLESTR,UINT FAR *);
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
** INSERT OBJECT DIALOG
|
|
*************************************************************************/
|
|
|
|
//Insert Object Dialog identifiers
|
|
#define ID_IO_CREATENEW 2100
|
|
#define ID_IO_CREATEFROMFILE 2101
|
|
#define ID_IO_LINKFILE 2102
|
|
#define ID_IO_OBJECTTYPELIST 2103
|
|
#define ID_IO_DISPLAYASICON 2104
|
|
#define ID_IO_CHANGEICON 2105
|
|
#define ID_IO_FILE 2106
|
|
#define ID_IO_FILEDISPLAY 2107
|
|
#define ID_IO_RESULTIMAGE 2108
|
|
#define ID_IO_RESULTTEXT 2109
|
|
#define ID_IO_ICONDISPLAY 2110
|
|
#define ID_IO_OBJECTTYPETEXT 2111
|
|
#define ID_IO_FILETEXT 2112
|
|
#define ID_IO_FILETYPE 2113
|
|
|
|
// Strings in OLE2UI resources
|
|
#define IDS_IORESULTNEW 32400
|
|
#define IDS_IORESULTNEWICON 32401
|
|
#define IDS_IORESULTFROMFILE1 32402
|
|
#define IDS_IORESULTFROMFILE2 32403
|
|
#define IDS_IORESULTFROMFILEICON2 32404
|
|
#define IDS_IORESULTLINKFILE1 32405
|
|
#define IDS_IORESULTLINKFILE2 32406
|
|
#define IDS_IORESULTLINKFILEICON1 32407
|
|
#define IDS_IORESULTLINKFILEICON2 32408
|
|
|
|
/*************************************************************************
|
|
** PASTE SPECIAL DIALOG
|
|
*************************************************************************/
|
|
|
|
//Paste Special Dialog identifiers
|
|
#define ID_PS_PASTE 500
|
|
#define ID_PS_PASTELINK 501
|
|
#define ID_PS_SOURCETEXT 502
|
|
#define ID_PS_PASTELIST 503
|
|
#define ID_PS_PASTELINKLIST 504
|
|
#define ID_PS_DISPLAYLIST 505
|
|
#define ID_PS_DISPLAYASICON 506
|
|
#define ID_PS_ICONDISPLAY 507
|
|
#define ID_PS_CHANGEICON 508
|
|
#define ID_PS_RESULTIMAGE 509
|
|
#define ID_PS_RESULTTEXT 510
|
|
#define ID_PS_RESULTGROUP 511
|
|
#define ID_PS_STXSOURCE 512
|
|
#define ID_PS_STXAS 513
|
|
|
|
// Paste Special String IDs
|
|
#define IDS_PSPASTEDATA 32410
|
|
#define IDS_PSPASTEOBJECT 32411
|
|
#define IDS_PSPASTEOBJECTASICON 32412
|
|
#define IDS_PSPASTELINKDATA 32413
|
|
#define IDS_PSPASTELINKOBJECT 32414
|
|
#define IDS_PSPASTELINKOBJECTASICON 32415
|
|
#define IDS_PSNONOLE 32416
|
|
#define IDS_PSUNKNOWNTYPE 32417
|
|
#define IDS_PSUNKNOWNSRC 32418
|
|
#define IDS_PSUNKNOWNAPP 32419
|
|
|
|
|
|
/*************************************************************************
|
|
** EDIT LINKS DIALOG
|
|
*************************************************************************/
|
|
|
|
// Edit Links Dialog identifiers
|
|
#define ID_EL_CHANGESOURCE 201
|
|
#define ID_EL_AUTOMATIC 202
|
|
#define ID_EL_CLOSE 208
|
|
#define ID_EL_CANCELLINK 209
|
|
#define ID_EL_UPDATENOW 210
|
|
#define ID_EL_OPENSOURCE 211
|
|
#define ID_EL_MANUAL 212
|
|
#define ID_EL_LINKSOURCE 216
|
|
#define ID_EL_LINKTYPE 217
|
|
#define ID_EL_UPDATE 218
|
|
#define ID_EL_NULL -1
|
|
#define ID_EL_LINKSLISTBOX 206
|
|
#define ID_EL_COL1 220
|
|
#define ID_EL_COL2 221
|
|
#define ID_EL_COL3 222
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
** CHANGE ICON DIALOG
|
|
*************************************************************************/
|
|
|
|
//Change Icon Dialog identifiers
|
|
#define ID_GROUP 120
|
|
#define ID_CURRENT 121
|
|
#define ID_CURRENTICON 122
|
|
#define ID_DEFAULT 123
|
|
#define ID_DEFAULTICON 124
|
|
#define ID_FROMFILE 125
|
|
#define ID_FROMFILEEDIT 126
|
|
#define ID_ICONLIST 127
|
|
#define ID_LABEL 128
|
|
#define ID_LABELEDIT 129
|
|
#define ID_BROWSE 130
|
|
#define ID_RESULTICON 132
|
|
#define ID_RESULTLABEL 133
|
|
|
|
// Stringtable defines for Change Icon
|
|
#define IDS_CINOICONSINFILE 32430
|
|
#define IDS_CIINVALIDFILE 32431
|
|
#define IDS_CIFILEACCESS 32432
|
|
#define IDS_CIFILESHARE 32433
|
|
#define IDS_CIFILEOPENFAIL 32434
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
** CONVERT DIALOG
|
|
*************************************************************************/
|
|
|
|
//Convert Dialog identifiers
|
|
#define IDCV_OBJECTTYPE 150
|
|
#define IDCV_DISPLAYASICON 152
|
|
#define IDCV_CHANGEICON 153
|
|
#define IDCV_ACTIVATELIST 154
|
|
#define IDCV_CONVERTTO 155
|
|
#define IDCV_ACTIVATEAS 156
|
|
#define IDCV_RESULTTEXT 157
|
|
#define IDCV_CONVERTLIST 158
|
|
#define IDCV_ICON 159
|
|
#define IDCV_ICONLABEL1 160
|
|
#define IDCV_ICONLABEL2 161
|
|
#define IDCV_STXCURTYPE 162
|
|
#define IDCV_GRPRESULT 163
|
|
#define IDCV_STXCONVERTTO 164
|
|
|
|
// String IDs for Convert dialog
|
|
#define IDS_CVRESULTCONVERTLINK 32440
|
|
#define IDS_CVRESULTCONVERTTO 32441
|
|
#define IDS_CVRESULTNOCHANGE 32442
|
|
#define IDS_CVRESULTDISPLAYASICON 32443
|
|
#define IDS_CVRESULTACTIVATEAS 32444
|
|
#define IDS_CVRESULTACTIVATEDIFF 32445
|
|
|
|
|
|
/*************************************************************************
|
|
** BUSY DIALOG
|
|
*************************************************************************/
|
|
|
|
// Busy dialog identifiers
|
|
#define IDBZ_RETRY 600
|
|
#define IDBZ_ICON 601
|
|
#define IDBZ_MESSAGE1 602
|
|
#define IDBZ_SWITCHTO 604
|
|
|
|
// Busy dialog stringtable defines
|
|
#define IDS_BZRESULTTEXTBUSY 32447
|
|
#define IDS_BZRESULTTEXTNOTRESPONDING 32448
|
|
|
|
// Links dialog stringtable defines
|
|
#define IDS_LINK_AUTO 32450
|
|
#define IDS_LINK_MANUAL 32451
|
|
#define IDS_LINK_UNKNOWN 32452
|
|
#define IDS_LINKS 32453
|
|
#define IDS_FAILED 32454
|
|
#define IDS_CHANGESOURCE 32455
|
|
#define IDS_INVALIDSOURCE 32456
|
|
#define IDS_ERR_GETLINKSOURCE 32457
|
|
#define IDS_ERR_GETLINKUPDATEOPTIONS 32458
|
|
#define IDS_ERR_ADDSTRING 32459
|
|
#define IDS_CHANGEADDITIONALLINKS 32460
|
|
#define IDS_CLOSE 32461
|
|
|
|
|
|
/*************************************************************************
|
|
** PROMPT USER DIALOGS
|
|
*************************************************************************/
|
|
#define ID_PU_LINKS 900
|
|
#define ID_PU_TEXT 901
|
|
#define ID_PU_CONVERT 902
|
|
#define ID_PU_BROWSE 904
|
|
#define ID_PU_METER 905
|
|
#define ID_PU_PERCENT 906
|
|
#define ID_PU_STOP 907
|
|
|
|
// used for -1 ids in dialogs:
|
|
#define ID_DUMMY 999
|
|
|
|
/* inside ole2ui.c */
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
#endif
|
|
|
|
/*************************************************************************
|
|
** OLE OBJECT FEEDBACK EFFECTS
|
|
*************************************************************************/
|
|
|
|
#define OLEUI_HANDLES_USEINVERSE 0x00000001L
|
|
#define OLEUI_HANDLES_NOBORDER 0x00000002L
|
|
#define OLEUI_HANDLES_INSIDE 0x00000004L
|
|
#define OLEUI_HANDLES_OUTSIDE 0x00000008L
|
|
|
|
|
|
#define OLEUI_SHADE_FULLRECT 1
|
|
#define OLEUI_SHADE_BORDERIN 2
|
|
#define OLEUI_SHADE_BORDEROUT 3
|
|
|
|
/* objfdbk.c function prototypes */
|
|
STDAPI_(void) OleUIDrawHandles(LPRECT lpRect, HDC hdc, DWORD dwFlags, UINT cSize, BOOL fDraw);
|
|
STDAPI_(void) OleUIDrawShading(LPRECT lpRect, HDC hdc, DWORD dwFlags, UINT cWidth);
|
|
STDAPI_(void) OleUIShowObject(LPCRECT lprc, HDC hdc, BOOL fIsLink);
|
|
|
|
|
|
/*************************************************************************
|
|
** Hatch window definitions and prototypes **
|
|
*************************************************************************/
|
|
#define DEFAULT_HATCHBORDER_WIDTH 4
|
|
|
|
STDAPI_(BOOL) RegisterHatchWindowClass(HINSTANCE hInst);
|
|
STDAPI_(HWND) CreateHatchWindow(HWND hWndParent, HINSTANCE hInst);
|
|
STDAPI_(UINT) GetHatchWidth(HWND hWndHatch);
|
|
STDAPI_(void) GetHatchRect(HWND hWndHatch, LPRECT lpHatchRect);
|
|
STDAPI_(void) SetHatchRect(HWND hWndHatch, LPRECT lprcHatchRect);
|
|
STDAPI_(void) SetHatchWindowSize(
|
|
HWND hWndHatch,
|
|
LPRECT lprcIPObjRect,
|
|
LPRECT lprcClipRect,
|
|
LPPOINT lpptOffset
|
|
);
|
|
|
|
#define OLEUI_VERSION_MAGIC 0x4D42
|
|
|
|
#endif // _OLESTD_H_
|