OleDlg.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:73k
- /*++ BUILD Version: 0002 Increment this if a change has global effects
- Copyright (c) Microsoft Corporation. All rights reserved.
- Module Name:
- oledlg.h
- Abstract:
- Include file for the OLE common dialogs.
- The following dialog implementations are provided:
- - Insert Object Dialog
- - Convert Object Dialog
- - Paste Special Dialog
- - Change Icon Dialog
- - Edit Links Dialog
- - Update Links Dialog
- - Change Source Dialog
- - Busy Dialog
- - User Error Message Dialog
- - Object Properties Dialog
- --*/
- #ifndef _OLEDLG_H_
- #define _OLEDLG_H_
- #if _MSC_VER > 1000
- #pragma once
- #endif
- #ifndef RC_INVOKED
- #ifndef __cplusplus
- #define NONAMELESSUNION // use strict ANSI standard (for DVOBJ.H)
- #endif
- // syncronize UNICODE options
- #if defined(_UNICODE) && !defined(UNICODE)
- #define UNICODE
- #endif
- #if defined(UNICODE) && !defined(_UNICODE)
- #define _UNICODE
- #endif
- #ifndef _WINDOWS_
- #include <windows.h>
- #endif
- #ifndef _INC_SHELLAPI
- #include <shellapi.h>
- #endif
- #ifndef _INC_COMMDLG
- #include <commdlg.h>
- #endif
- #ifndef _OLE2_H_
- #include <ole2.h>
- #endif
- #include <string.h>
- #include <tchar.h>
- #endif // RC_INVOKED
- #include <dlgs.h> // common dialog IDs
- // Help Button Identifier
- #define IDC_OLEUIHELP 99
- // Insert Object Dialog identifiers
- #define IDC_IO_CREATENEW 2100
- #define IDC_IO_CREATEFROMFILE 2101
- #define IDC_IO_LINKFILE 2102
- #define IDC_IO_OBJECTTYPELIST 2103
- #define IDC_IO_DISPLAYASICON 2104
- #define IDC_IO_CHANGEICON 2105
- #define IDC_IO_FILE 2106
- #define IDC_IO_FILEDISPLAY 2107
- #define IDC_IO_RESULTIMAGE 2108
- #define IDC_IO_RESULTTEXT 2109
- #define IDC_IO_ICONDISPLAY 2110
- #define IDC_IO_OBJECTTYPETEXT 2111 //{{NOHELP}}
- #define IDC_IO_FILETEXT 2112 //{{NOHELP}}
- #define IDC_IO_FILETYPE 2113
- #define IDC_IO_INSERTCONTROL 2114
- #define IDC_IO_ADDCONTROL 2115
- #define IDC_IO_CONTROLTYPELIST 2116
- // Paste Special Dialog identifiers
- #define IDC_PS_PASTE 500
- #define IDC_PS_PASTELINK 501
- #define IDC_PS_SOURCETEXT 502
- #define IDC_PS_PASTELIST 503 //{{NOHELP}}
- #define IDC_PS_PASTELINKLIST 504 //{{NOHELP}}
- #define IDC_PS_DISPLAYLIST 505
- #define IDC_PS_DISPLAYASICON 506
- #define IDC_PS_ICONDISPLAY 507
- #define IDC_PS_CHANGEICON 508
- #define IDC_PS_RESULTIMAGE 509
- #define IDC_PS_RESULTTEXT 510
- // Change Icon Dialog identifiers
- #define IDC_CI_GROUP 120 //{{NOHELP}}
- #define IDC_CI_CURRENT 121
- #define IDC_CI_CURRENTICON 122
- #define IDC_CI_DEFAULT 123
- #define IDC_CI_DEFAULTICON 124
- #define IDC_CI_FROMFILE 125
- #define IDC_CI_FROMFILEEDIT 126
- #define IDC_CI_ICONLIST 127
- #define IDC_CI_LABEL 128 //{{NOHELP}
- #define IDC_CI_LABELEDIT 129
- #define IDC_CI_BROWSE 130
- #define IDC_CI_ICONDISPLAY 131
- // Convert Dialog identifiers
- #define IDC_CV_OBJECTTYPE 150
- #define IDC_CV_DISPLAYASICON 152
- #define IDC_CV_CHANGEICON 153
- #define IDC_CV_ACTIVATELIST 154
- #define IDC_CV_CONVERTTO 155
- #define IDC_CV_ACTIVATEAS 156
- #define IDC_CV_RESULTTEXT 157
- #define IDC_CV_CONVERTLIST 158
- #define IDC_CV_ICONDISPLAY 165
- // Edit Links Dialog identifiers
- #define IDC_EL_CHANGESOURCE 201
- #define IDC_EL_AUTOMATIC 202
- #define IDC_EL_CANCELLINK 209
- #define IDC_EL_UPDATENOW 210
- #define IDC_EL_OPENSOURCE 211
- #define IDC_EL_MANUAL 212
- #define IDC_EL_LINKSOURCE 216
- #define IDC_EL_LINKTYPE 217
- #define IDC_EL_LINKSLISTBOX 206
- #define IDC_EL_COL1 220 //{{NOHELP}}
- #define IDC_EL_COL2 221 //{{NOHELP}}
- #define IDC_EL_COL3 222 //{{NOHELP}}
- // Busy dialog identifiers
- #define IDC_BZ_RETRY 600
- #define IDC_BZ_ICON 601
- #define IDC_BZ_MESSAGE1 602 //{{NOHELP}}
- #define IDC_BZ_SWITCHTO 604
- // Update Links dialog identifiers
- #define IDC_UL_METER 1029 //{{NOHELP}}
- #define IDC_UL_STOP 1030 //{{NOHELP}}
- #define IDC_UL_PERCENT 1031 //{{NOHELP}}
- #define IDC_UL_PROGRESS 1032 //{{NOHELP}}
- // User Prompt dialog identifiers
- #define IDC_PU_LINKS 900 //{{NOHELP}}
- #define IDC_PU_TEXT 901 //{{NOHELP}}
- #define IDC_PU_CONVERT 902 //{{NOHELP}}
- #define IDC_PU_ICON 908 //{{NOHELP}}
- // General Properties identifiers
- #define IDC_GP_OBJECTNAME 1009
- #define IDC_GP_OBJECTTYPE 1010
- #define IDC_GP_OBJECTSIZE 1011
- #define IDC_GP_CONVERT 1013
- #define IDC_GP_OBJECTICON 1014 //{{NOHELP}}
- #define IDC_GP_OBJECTLOCATION 1022
- // View Properties identifiers
- #define IDC_VP_PERCENT 1000
- #define IDC_VP_CHANGEICON 1001
- #define IDC_VP_EDITABLE 1002
- #define IDC_VP_ASICON 1003
- #define IDC_VP_RELATIVE 1005
- #define IDC_VP_SPIN 1006
- #define IDC_VP_SCALETXT 1034
- #define IDC_VP_ICONDISPLAY 1021
- #define IDC_VP_RESULTIMAGE 1033
- // Link Properties identifiers
- #define IDC_LP_OPENSOURCE 1006
- #define IDC_LP_UPDATENOW 1007
- #define IDC_LP_BREAKLINK 1008
- #define IDC_LP_LINKSOURCE 1012
- #define IDC_LP_CHANGESOURCE 1015
- #define IDC_LP_AUTOMATIC 1016
- #define IDC_LP_MANUAL 1017
- #define IDC_LP_DATE 1018
- #define IDC_LP_TIME 1019
- // Dialog Identifiers as passed in Help messages to identify the source.
- #define IDD_INSERTOBJECT 1000
- #define IDD_CHANGEICON 1001
- #define IDD_CONVERT 1002
- #define IDD_PASTESPECIAL 1003
- #define IDD_EDITLINKS 1004
- #define IDD_BUSY 1006
- #define IDD_UPDATELINKS 1007
- #define IDD_CHANGESOURCE 1009
- #define IDD_INSERTFILEBROWSE 1010
- #define IDD_CHANGEICONBROWSE 1011
- #define IDD_CONVERTONLY 1012
- #define IDD_CHANGESOURCE4 1013
- #define IDD_GNRLPROPS 1100
- #define IDD_VIEWPROPS 1101
- #define IDD_LINKPROPS 1102
- #define IDD_CONVERT4 1103
- #define IDD_CONVERTONLY4 1104
- #define IDD_EDITLINKS4 1105
- #define IDD_GNRLPROPS4 1106
- #define IDD_LINKPROPS4 1107
- #define IDD_PASTESPECIAL4 1108
- // The following Dialogs are message dialogs used by OleUIPromptUser API
- #define IDD_CANNOTUPDATELINK 1008
- #define IDD_LINKSOURCEUNAVAILABLE 1020
- #define IDD_SERVERNOTFOUND 1023
- #define IDD_OUTOFMEMORY 1024
- #define IDD_SERVERNOTREGW 1021
- #define IDD_LINKTYPECHANGEDW 1022
- #define IDD_SERVERNOTREGA 1025
- #define IDD_LINKTYPECHANGEDA 1026
- #ifdef UNICODE
- #define IDD_SERVERNOTREG IDD_SERVERNOTREGW
- #define IDD_LINKTYPECHANGED IDD_LINKTYPECHANGEDW
- #else
- #define IDD_SERVERNOTREG IDD_SERVERNOTREGA
- #define IDD_LINKTYPECHANGED IDD_LINKTYPECHANGEDA
- #endif
- #ifndef RC_INVOKED
- #ifdef __cplusplus
- extern "C" {
- #endif
- #pragma pack(push, 8)
- // Delimeter used to separate ItemMoniker pieces of a composite moniker
- #ifdef _MAC
- #define OLESTDDELIM ":"
- #else
- #define OLESTDDELIM TEXT("\")
- #endif
- // Hook type used in all structures.
- typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
- // Strings for registered messages
- #define SZOLEUI_MSG_HELP TEXT("OLEUI_MSG_HELP")
- #define SZOLEUI_MSG_ENDDIALOG TEXT("OLEUI_MSG_ENDDIALOG")
- #define SZOLEUI_MSG_BROWSE TEXT("OLEUI_MSG_BROWSE")
- #define SZOLEUI_MSG_CHANGEICON TEXT("OLEUI_MSG_CHANGEICON")
- #define SZOLEUI_MSG_CLOSEBUSYDIALOG TEXT("OLEUI_MSG_CLOSEBUSYDIALOG")
- #define SZOLEUI_MSG_CONVERT TEXT("OLEUI_MSG_CONVERT")
- #define SZOLEUI_MSG_CHANGESOURCE TEXT("OLEUI_MSG_CHANGESOURCE")
- #define SZOLEUI_MSG_ADDCONTROL TEXT("OLEUI_MSG_ADDCONTROL")
- #define SZOLEUI_MSG_BROWSE_OFN TEXT("OLEUI_MSG_BROWSE_OFN")
- // Identifiers for SZOLEUI_MSG_BROWSE_OFN (in wParam)
- #define ID_BROWSE_CHANGEICON 1
- #define ID_BROWSE_INSERTFILE 2
- #define ID_BROWSE_ADDCONTROL 3
- #define ID_BROWSE_CHANGESOURCE 4
- // Standard success/error definitions
- #define OLEUI_FALSE 0
- #define OLEUI_SUCCESS 1 // No error, same as OLEUI_OK
- #define OLEUI_OK 1 // OK button pressed
- #define OLEUI_CANCEL 2 // Cancel button pressed
- #define OLEUI_ERR_STANDARDMIN 100
- #define OLEUI_ERR_OLEMEMALLOC 100
- #define OLEUI_ERR_STRUCTURENULL 101 // Standard field validation
- #define OLEUI_ERR_STRUCTUREINVALID 102
- #define OLEUI_ERR_CBSTRUCTINCORRECT 103
- #define OLEUI_ERR_HWNDOWNERINVALID 104
- #define OLEUI_ERR_LPSZCAPTIONINVALID 105
- #define OLEUI_ERR_LPFNHOOKINVALID 106
- #define OLEUI_ERR_HINSTANCEINVALID 107
- #define OLEUI_ERR_LPSZTEMPLATEINVALID 108
- #define OLEUI_ERR_HRESOURCEINVALID 109
- #define OLEUI_ERR_FINDTEMPLATEFAILURE 110 // Initialization errors
- #define OLEUI_ERR_LOADTEMPLATEFAILURE 111
- #define OLEUI_ERR_DIALOGFAILURE 112
- #define OLEUI_ERR_LOCALMEMALLOC 113
- #define OLEUI_ERR_GLOBALMEMALLOC 114
- #define OLEUI_ERR_LOADSTRING 115
- #define OLEUI_ERR_STANDARDMAX 116 // Start here for specific errors.
- // Miscellaneous utility functions.
- STDAPI_(BOOL) OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType,
- HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
- BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
- STDAPI_(BOOL) OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj, LPCSTR lpszShortType,
- HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
- BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
- #ifdef UNICODE
- #define OleUIAddVerbMenu OleUIAddVerbMenuW
- #else
- #define OleUIAddVerbMenu OleUIAddVerbMenuA
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // INSERT OBJECT DIALOG
- typedef struct tagOLEUIINSERTOBJECTW
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: Flags
- HWND hWndOwner; // Owning window
- LPCWSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCWSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // Specifics for OLEUIINSERTOBJECT.
- CLSID clsid; // OUT: Return space for class ID
- LPWSTR lpszFile; // IN-OUT: Filename for inserts or links
- UINT cchFile; // IN: Size of lpszFile buffer: MAX_PATH
- UINT cClsidExclude; // IN: CLSIDs in lpClsidExclude
- LPCLSID lpClsidExclude; // IN: List of CLSIDs to exclude from listing.
- // Specific to create objects if flags say so
- IID iid; // IN: Requested interface on creation.
- DWORD oleRender; // IN: Rendering option
- LPFORMATETC lpFormatEtc; // IN: Desired format
- LPOLECLIENTSITE lpIOleClientSite; // IN: Site to be use for the object.
- LPSTORAGE lpIStorage; // IN: Storage used for the object
- LPVOID *ppvObj; // OUT: Where the object is returned.
- SCODE sc; // OUT: Result of creation calls.
- HGLOBAL hMetaPict; // OUT: metafile aspect (METAFILEPICT)
- } OLEUIINSERTOBJECTW, *POLEUIINSERTOBJECTW, *LPOLEUIINSERTOBJECTW;
- typedef struct tagOLEUIINSERTOBJECTA
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: Flags
- HWND hWndOwner; // Owning window
- LPCSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // Specifics for OLEUIINSERTOBJECT.
- CLSID clsid; // OUT: Return space for class ID
- LPSTR lpszFile; // IN-OUT: Filename for inserts or links
- UINT cchFile; // IN: Size of lpszFile buffer: MAX_PATH
- UINT cClsidExclude; // IN: CLSIDs in lpClsidExclude
- LPCLSID lpClsidExclude; // IN: List of CLSIDs to exclude from listing.
- // Specific to create objects if flags say so
- IID iid; // IN: Requested interface on creation.
- DWORD oleRender; // IN: Rendering option
- LPFORMATETC lpFormatEtc; // IN: Desired format
- LPOLECLIENTSITE lpIOleClientSite; // IN: Site to be use for the object.
- LPSTORAGE lpIStorage; // IN: Storage used for the object
- LPVOID *ppvObj; // OUT: Where the object is returned.
- SCODE sc; // OUT: Result of creation calls.
- HGLOBAL hMetaPict; // OUT: metafile aspect (METAFILEPICT)
- } OLEUIINSERTOBJECTA, *POLEUIINSERTOBJECTA, *LPOLEUIINSERTOBJECTA;
- STDAPI_(UINT) OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
- STDAPI_(UINT) OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
- #ifdef UNICODE
- #define tagOLEUIINSERTOBJECT tagOLEUIINSERTOBJECTW
- #define OLEUIINSERTOBJECT OLEUIINSERTOBJECTW
- #define POLEUIINSERTOBJECT POLEUIINSERTOBJECTW
- #define LPOLEUIINSERTOBJECT LPOLEUIINSERTOBJECTW
- #define OleUIInsertObject OleUIInsertObjectW
- #else
- #define tagOLEUIINSERTOBJECT tagOLEUIINSERTOBJECTA
- #define OLEUIINSERTOBJECT OLEUIINSERTOBJECTA
- #define POLEUIINSERTOBJECT POLEUIINSERTOBJECTA
- #define LPOLEUIINSERTOBJECT LPOLEUIINSERTOBJECTA
- #define OleUIInsertObject OleUIInsertObjectA
- #endif
- // Insert Object flags
- #define IOF_SHOWHELP 0x00000001L
- #define IOF_SELECTCREATENEW 0x00000002L
- #define IOF_SELECTCREATEFROMFILE 0x00000004L
- #define IOF_CHECKLINK 0x00000008L
- #define IOF_CHECKDISPLAYASICON 0x00000010L
- #define IOF_CREATENEWOBJECT 0x00000020L
- #define IOF_CREATEFILEOBJECT 0x00000040L
- #define IOF_CREATELINKOBJECT 0x00000080L
- #define IOF_DISABLELINK 0x00000100L
- #define IOF_VERIFYSERVERSEXIST 0x00000200L
- #define IOF_DISABLEDISPLAYASICON 0x00000400L
- #define IOF_HIDECHANGEICON 0x00000800L
- #define IOF_SHOWINSERTCONTROL 0x00001000L
- #define IOF_SELECTCREATECONTROL 0x00002000L
- // Insert Object specific error codes
- #define OLEUI_IOERR_LPSZFILEINVALID (OLEUI_ERR_STANDARDMAX+0)
- #define OLEUI_IOERR_LPSZLABELINVALID (OLEUI_ERR_STANDARDMAX+1)
- #define OLEUI_IOERR_HICONINVALID (OLEUI_ERR_STANDARDMAX+2)
- #define OLEUI_IOERR_LPFORMATETCINVALID (OLEUI_ERR_STANDARDMAX+3)
- #define OLEUI_IOERR_PPVOBJINVALID (OLEUI_ERR_STANDARDMAX+4)
- #define OLEUI_IOERR_LPIOLECLIENTSITEINVALID (OLEUI_ERR_STANDARDMAX+5)
- #define OLEUI_IOERR_LPISTORAGEINVALID (OLEUI_ERR_STANDARDMAX+6)
- #define OLEUI_IOERR_SCODEHASERROR (OLEUI_ERR_STANDARDMAX+7)
- #define OLEUI_IOERR_LPCLSIDEXCLUDEINVALID (OLEUI_ERR_STANDARDMAX+8)
- #define OLEUI_IOERR_CCHFILEINVALID (OLEUI_ERR_STANDARDMAX+9)
- /////////////////////////////////////////////////////////////////////////////
- // PASTE SPECIAL DIALOG
- // The OLEUIPASTEFLAG enumeration is used by the OLEUIPASTEENTRY structure.
- //
- // OLEUIPASTE_ENABLEICON: If the container does not specify this flag for
- // the entry in the OLEUIPASTEENTRY array passed as input to
- // OleUIPasteSpecial, the DisplayAsIcon button will be unchecked and
- // disabled when the the user selects the format that corresponds to
- // the entry.
- //
- // OLEUIPASTE_PASTEONLY: Indicates that the entry in the OLEUIPASTEENTRY
- // array is valid for pasting only.
- //
- // OLEUIPASTE_PASTE: Indicates that the entry in the OLEUIPASTEENTRY array
- // is valid for pasting. It may also be valid for linking if any of
- // the following linking flags are specified.
- //
- // If the entry in the OLEUIPASTEENTRY array is valid for linking, the
- // following flags indicate which link types are acceptable by OR'ing
- // together the appropriate OLEUIPASTE_LINKTYPE<#> values.
- //
- // These values correspond as follows to the array of link types passed to
- // OleUIPasteSpecial:
- //
- // OLEUIPASTE_LINKTYPE1 = arrLinkTypes[0]
- // OLEUIPASTE_LINKTYPE2 = arrLinkTypes[1]
- // OLEUIPASTE_LINKTYPE3 = arrLinkTypes[2]
- // OLEUIPASTE_LINKTYPE4 = arrLinkTypes[3]
- // OLEUIPASTE_LINKTYPE5 = arrLinkTypes[4]
- // OLEUIPASTE_LINKTYPE6 = arrLinkTypes[5]
- // OLEUIPASTE_LINKTYPE7 = arrLinkTypes[6]
- // OLEUIPASTE_LINKTYPE8 = arrLinkTypes[7]
- //
- // where,
- // UINT arrLinkTypes[8] is an array of registered clipboard formats for
- // linking. A maximium of 8 link types are allowed.
- typedef enum tagOLEUIPASTEFLAG
- {
- OLEUIPASTE_ENABLEICON = 2048, // enable display as icon
- OLEUIPASTE_PASTEONLY = 0,
- OLEUIPASTE_PASTE = 512,
- OLEUIPASTE_LINKANYTYPE = 1024,
- OLEUIPASTE_LINKTYPE1 = 1,
- OLEUIPASTE_LINKTYPE2 = 2,
- OLEUIPASTE_LINKTYPE3 = 4,
- OLEUIPASTE_LINKTYPE4 = 8,
- OLEUIPASTE_LINKTYPE5 = 16,
- OLEUIPASTE_LINKTYPE6 = 32,
- OLEUIPASTE_LINKTYPE7 = 64,
- OLEUIPASTE_LINKTYPE8 = 128
- } OLEUIPASTEFLAG;
- // OLEUIPASTEENTRY structure
- //
- // An array of OLEUIPASTEENTRY entries is specified for the PasteSpecial
- // dialog box. Each entry includes a FORMATETC which specifies the
- // formats that are acceptable, a string that is to represent the format
- // in the dialog's list box, a string to customize the result text of the
- // dialog and a set of flags from the OLEUIPASTEFLAG enumeration. The
- // flags indicate if the entry is valid for pasting only, linking only or
- // both pasting and linking.
- typedef struct tagOLEUIPASTEENTRYW
- {
- FORMATETC fmtetc; // Format that is acceptable.
- LPCWSTR lpstrFormatName;// String that represents the format
- // to the user. %s is replaced by the
- // full user type name of the object.
- LPCWSTR lpstrResultText;// String to customize the result text
- // of the dialog when the user
- // selects the format correspoding to
- // this entry. Any %s in this string
- // is replaced by the the application
- // name or FullUserTypeName of the
- // object on the clipboard.
- DWORD dwFlags; // Values from OLEUIPASTEFLAG enum
- DWORD dwScratchSpace; // Scratch space used internally.
- } OLEUIPASTEENTRYW, *POLEUIPASTEENTRYW, *LPOLEUIPASTEENTRYW;
- typedef struct tagOLEUIPASTEENTRYA
- {
- FORMATETC fmtetc; // Format that is acceptable.
- LPCSTR lpstrFormatName;// String that represents the format
- // to the user. %s is replaced by the
- // full user type name of the object.
- LPCSTR lpstrResultText;// String to customize the result text
- // of the dialog when the user
- // selects the format correspoding to
- // this entry. Any %s in this string
- // is replaced by the the application
- // name or FullUserTypeName of the
- // object on the clipboard.
- DWORD dwFlags; // Values from OLEUIPASTEFLAG enum
- DWORD dwScratchSpace; // Scratch space used internally.
- } OLEUIPASTEENTRYA, *POLEUIPASTEENTRYA, *LPOLEUIPASTEENTRYA;
- #ifdef UNICODE
- #define tagOLEUIPASTEENTRY tagOLEUIPASTEENTRYW
- #define OLEUIPASTEENTRY OLEUIPASTEENTRYW
- #define POLEUIPASTEENTRY POLEUIPASTEENTRYW
- #define LPOLEUIPASTEENTRY LPOLEUIPASTEENTRYW
- #else
- #define tagOLEUIPASTEENTRY tagOLEUIPASTEENTRYA
- #define OLEUIPASTEENTRY OLEUIPASTEENTRYA
- #define POLEUIPASTEENTRY POLEUIPASTEENTRYA
- #define LPOLEUIPASTEENTRY LPOLEUIPASTEENTRYA
- #endif
- // Maximum number of link types
- #define PS_MAXLINKTYPES 8
- typedef struct tagOLEUIPASTESPECIALW
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: Flags
- HWND hWndOwner; // Owning window
- LPCWSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCWSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // Specifics for OLEUIPASTESPECIAL.
- LPDATAOBJECT lpSrcDataObj; // IN-OUT: Source IDataObject* on the clipboard
- // If lpSrcDataObj is NULL when OleUIPasteSpecial is called, then
- // OleUIPasteSpecial will attempt to retrieve a pointer to an
- // IDataObject from the clipboard. If OleUIPasteSpecial succeeds
- // then it is the caller's responsibility to free the IDataObject
- // returned in lpSrcDataObj.
- LPOLEUIPASTEENTRYW arrPasteEntries;// IN: Array of acceptable formats
- int cPasteEntries; // IN: No. of OLEUIPASTEENTRY array entries
- UINT FAR* arrLinkTypes; // IN: List of acceptable link types
- int cLinkTypes; // IN: Number of link types
- UINT cClsidExclude; // IN: Number of CLSIDs in lpClsidExclude
- LPCLSID lpClsidExclude; // IN: List of CLSIDs to exclude from list.
- int nSelectedIndex; // OUT: Index that the user selected
- BOOL fLink; // OUT: Indicates if Paste or PasteLink
- HGLOBAL hMetaPict; // OUT: Handle to Metafile containing icon
- SIZEL sizel; // OUT: size of object/link in its source
- // may be 0,0 if different display
- // aspect is chosen.
- } OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
- typedef struct tagOLEUIPASTESPECIALA
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: Flags
- HWND hWndOwner; // Owning window
- LPCSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // Specifics for OLEUIPASTESPECIAL.
- LPDATAOBJECT lpSrcDataObj; // IN-OUT: Source IDataObject* on the clipboard
- // If lpSrcDataObj is NULL when OleUIPasteSpecial is called, then
- // OleUIPasteSpecial will attempt to retrieve a pointer to an
- // IDataObject from the clipboard. If OleUIPasteSpecial succeeds
- // then it is the caller's responsibility to free the IDataObject
- // returned in lpSrcDataObj.
- LPOLEUIPASTEENTRYA arrPasteEntries;// IN: Array of acceptable formats
- int cPasteEntries; // IN: No. of OLEUIPASTEENTRY array entries
- UINT FAR* arrLinkTypes; // IN: List of acceptable link types
- int cLinkTypes; // IN: Number of link types
- UINT cClsidExclude; // IN: Number of CLSIDs in lpClsidExclude
- LPCLSID lpClsidExclude; // IN: List of CLSIDs to exclude from list.
- int nSelectedIndex; // OUT: Index that the user selected
- BOOL fLink; // OUT: Indicates if Paste or PasteLink
- HGLOBAL hMetaPict; // OUT: Handle to Metafile containing icon
- SIZEL sizel; // OUT: size of object/link in its source
- // may be 0,0 if different display
- // aspect is chosen.
- } OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;
- #ifdef UNICODE
- #define tagOLEUIPASTESPECIAL tagOLEUIPASTESPECIALW
- #define OLEUIPASTESPECIAL OLEUIPASTESPECIALW
- #define POLEUIPASTESPECIAL POLEUIPASTESPECIALW
- #define LPOLEUIPASTESPECIAL LPOLEUIPASTESPECIALW
- #else
- #define tagOLEUIPASTESPECIAL tagOLEUIPASTESPECIALA
- #define OLEUIPASTESPECIAL OLEUIPASTESPECIALA
- #define POLEUIPASTESPECIAL POLEUIPASTESPECIALA
- #define LPOLEUIPASTESPECIAL LPOLEUIPASTESPECIALA
- #endif
- STDAPI_(UINT) OleUIPasteSpecialW(LPOLEUIPASTESPECIALW);
- STDAPI_(UINT) OleUIPasteSpecialA(LPOLEUIPASTESPECIALA);
- #ifdef UNICODE
- #define OleUIPasteSpecial OleUIPasteSpecialW
- #else
- #define OleUIPasteSpecial OleUIPasteSpecialA
- #endif
- // Paste Special specific flags
- #define PSF_SHOWHELP 0x00000001L
- #define PSF_SELECTPASTE 0x00000002L
- #define PSF_SELECTPASTELINK 0x00000004L
- // NOTE: PSF_CHECKDISPLAYASICON is strictly an output flag.
- // It is ignored if set when calling OleUIPasteSpecial.
- #define PSF_CHECKDISPLAYASICON 0x00000008L
- #define PSF_DISABLEDISPLAYASICON 0x00000010L
- #define PSF_HIDECHANGEICON 0x00000020L
- #define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
- #define PSF_NOREFRESHDATAOBJECT 0x00000080L
- // Paste Special specific error codes
- #define OLEUI_IOERR_SRCDATAOBJECTINVALID (OLEUI_ERR_STANDARDMAX+0)
- #define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
- #define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
- #define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
- #define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
- /////////////////////////////////////////////////////////////////////////////
- // EDIT LINKS DIALOG
- // IOleUILinkContainer interface
- //
- // This interface must be implemented by container applications that
- // want to use the EditLinks dialog. the EditLinks dialog calls back
- // to the container app to perform the OLE functions to manipulate
- // the links within the container.
- #undef INTERFACE
- #define INTERFACE IOleUILinkContainerW
- DECLARE_INTERFACE_(IOleUILinkContainerW, IUnknown)
- {
- // *** IUnknown methods *** //
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- // *** IOleUILinkContainer *** //
- STDMETHOD_(DWORD,GetNextLink) (THIS_ DWORD dwLink) PURE;
- STDMETHOD(SetLinkUpdateOptions) (THIS_ DWORD dwLink,
- DWORD dwUpdateOpt) PURE;
- STDMETHOD(GetLinkUpdateOptions) (THIS_ DWORD dwLink,
- DWORD FAR* lpdwUpdateOpt) PURE;
- STDMETHOD(SetLinkSource) (THIS_ DWORD dwLink, LPWSTR lpszDisplayName,
- ULONG lenFileName, ULONG FAR* pchEaten, BOOL fValidateSource) PURE;
- STDMETHOD(GetLinkSource) (THIS_ DWORD dwLink,
- LPWSTR FAR* lplpszDisplayName, ULONG FAR* lplenFileName,
- LPWSTR FAR* lplpszFullLinkType, LPWSTR FAR* lplpszShortLinkType,
- BOOL FAR* lpfSourceAvailable, BOOL FAR* lpfIsSelected) PURE;
- STDMETHOD(OpenLinkSource) (THIS_ DWORD dwLink) PURE;
- STDMETHOD(UpdateLink) (THIS_ DWORD dwLink,
- BOOL fErrorMessage, BOOL fReserved) PURE;
- STDMETHOD(CancelLink) (THIS_ DWORD dwLink) PURE;
- };
- typedef IOleUILinkContainerW FAR* LPOLEUILINKCONTAINERW;
- #undef INTERFACE
- #define INTERFACE IOleUILinkContainerA
- DECLARE_INTERFACE_(IOleUILinkContainerA, IUnknown)
- {
- // *** IUnknown methods *** //
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- // *** IOleUILinkContainer *** //
- STDMETHOD_(DWORD,GetNextLink) (THIS_ DWORD dwLink) PURE;
- STDMETHOD(SetLinkUpdateOptions) (THIS_ DWORD dwLink,
- DWORD dwUpdateOpt) PURE;
- STDMETHOD(GetLinkUpdateOptions) (THIS_ DWORD dwLink,
- DWORD FAR* lpdwUpdateOpt) PURE;
- STDMETHOD(SetLinkSource) (THIS_ DWORD dwLink, LPSTR lpszDisplayName,
- ULONG lenFileName, ULONG FAR* pchEaten, BOOL fValidateSource) PURE;
- STDMETHOD(GetLinkSource) (THIS_ DWORD dwLink,
- LPSTR FAR* lplpszDisplayName, ULONG FAR* lplenFileName,
- LPSTR FAR* lplpszFullLinkType, LPSTR FAR* lplpszShortLinkType,
- BOOL FAR* lpfSourceAvailable, BOOL FAR* lpfIsSelected) PURE;
- STDMETHOD(OpenLinkSource) (THIS_ DWORD dwLink) PURE;
- STDMETHOD(UpdateLink) (THIS_ DWORD dwLink,
- BOOL fErrorMessage, BOOL fReserved) PURE;
- STDMETHOD(CancelLink) (THIS_ DWORD dwLink) PURE;
- };
- typedef IOleUILinkContainerA FAR* LPOLEUILINKCONTAINERA;
- #ifdef UNICODE
- #define IOleUILinkContainer IOleUILinkContainerW
- #define IOleUILinkContainerVtbl IOleUILinkContainerWVtbl
- #define LPOLEUILINKCONTAINER LPOLEUILINKCONTAINERW
- #else
- #define IOleUILinkContainer IOleUILinkContainerA
- #define IOleUILinkContainerVtbl IOleUILinkContainerAVtbl
- #define LPOLEUILINKCONTAINER LPOLEUILINKCONTAINERA
- #endif
- typedef struct tagOLEUIEDITLINKSW
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: Flags
- HWND hWndOwner; // Owning window
- LPCWSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCWSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // Specifics for OLEUIEDITLINKS.
- LPOLEUILINKCONTAINERW lpOleUILinkContainer; // IN: Interface to manipulate
- // links in the container
- } OLEUIEDITLINKSW, *POLEUIEDITLINKSW, *LPOLEUIEDITLINKSW;
- typedef struct tagOLEUIEDITLINKSA
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: Flags
- HWND hWndOwner; // Owning window
- LPCSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // Specifics for OLEUIEDITLINKS.
- LPOLEUILINKCONTAINERA lpOleUILinkContainer; // IN: Interface to manipulate
- // links in the container
- } OLEUIEDITLINKSA, *POLEUIEDITLINKSA, *LPOLEUIEDITLINKSA;
- #ifdef UNICODE
- #define tagOLEUIEDITLINKS tagOLEUIEDITLINKSW
- #define OLEUIEDITLINKS OLEUIEDITLINKSW
- #define POLEUIEDITLINKS POLEUIEDITLINKSW
- #define LPOLEUIEDITLINKS LPOLEUIEDITLINKSW
- #else
- #define tagOLEUIEDITLINKS tagOLEUIEDITLINKSA
- #define OLEUIEDITLINKS OLEUIEDITLINKSA
- #define POLEUIEDITLINKS POLEUIEDITLINKSA
- #define LPOLEUIEDITLINKS LPOLEUIEDITLINKSA
- #endif
- #define OLEUI_ELERR_LINKCNTRNULL (OLEUI_ERR_STANDARDMAX+0)
- #define OLEUI_ELERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+1)
- STDAPI_(UINT) OleUIEditLinksW(LPOLEUIEDITLINKSW);
- STDAPI_(UINT) OleUIEditLinksA(LPOLEUIEDITLINKSA);
- #ifdef UNICODE
- #define OleUIEditLinks OleUIEditLinksW
- #else
- #define OleUIEditLinks OleUIEditLinksA
- #endif
- // Edit Links flags
- #define ELF_SHOWHELP 0x00000001L
- #define ELF_DISABLEUPDATENOW 0x00000002L
- #define ELF_DISABLEOPENSOURCE 0x00000004L
- #define ELF_DISABLECHANGESOURCE 0x00000008L
- #define ELF_DISABLECANCELLINK 0x00000010L
- /////////////////////////////////////////////////////////////////////////////
- // CHANGE ICON DIALOG
- typedef struct tagOLEUICHANGEICONW
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: Flags
- HWND hWndOwner; // Owning window
- LPCWSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCWSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // Specifics for OLEUICHANGEICON.
- HGLOBAL hMetaPict; // IN-OUT: Current and final image.
- // Source of the icon is embedded in
- // the metafile itself.
- CLSID clsid; // IN: class used to get Default icon
- WCHAR szIconExe[MAX_PATH]; // IN: explicit icon source path
- int cchIconExe; // IN: number of characters in szIconExe
- } OLEUICHANGEICONW, *POLEUICHANGEICONW, *LPOLEUICHANGEICONW;
- typedef struct tagOLEUICHANGEICONA
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: Flags
- HWND hWndOwner; // Owning window
- LPCSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // Specifics for OLEUICHANGEICON.
- HGLOBAL hMetaPict; // IN-OUT: Current and final image.
- // Source of the icon is embedded in
- // the metafile itself.
- CLSID clsid; // IN: class used to get Default icon
- CHAR szIconExe[MAX_PATH]; // IN: explicit icon source path
- int cchIconExe; // IN: number of characters in szIconExe
- } OLEUICHANGEICONA, *POLEUICHANGEICONA, *LPOLEUICHANGEICONA;
- STDAPI_(UINT) OleUIChangeIconW(LPOLEUICHANGEICONW);
- STDAPI_(UINT) OleUIChangeIconA(LPOLEUICHANGEICONA);
- #ifdef UNICODE
- #define tagOLEUICHANGEICON tagOLEUICHANGEICONW
- #define OLEUICHANGEICON OLEUICHANGEICONW
- #define POLEUICHANGEICON POLEUICHANGEICONW
- #define LPOLEUICHANGEICON LPOLEUICHANGEICONW
- #define OleUIChangeIcon OleUIChangeIconW
- #else
- #define tagOLEUICHANGEICON tagOLEUICHANGEICONA
- #define OLEUICHANGEICON OLEUICHANGEICONA
- #define POLEUICHANGEICON POLEUICHANGEICONA
- #define LPOLEUICHANGEICON LPOLEUICHANGEICONA
- #define OleUIChangeIcon OleUIChangeIconA
- #endif
- // Change Icon flags
- #define CIF_SHOWHELP 0x00000001L
- #define CIF_SELECTCURRENT 0x00000002L
- #define CIF_SELECTDEFAULT 0x00000004L
- #define CIF_SELECTFROMFILE 0x00000008L
- #define CIF_USEICONEXE 0x00000010L
- // Change Icon specific error codes
- #define OLEUI_CIERR_MUSTHAVECLSID (OLEUI_ERR_STANDARDMAX+0)
- #define OLEUI_CIERR_MUSTHAVECURRENTMETAFILE (OLEUI_ERR_STANDARDMAX+1)
- #define OLEUI_CIERR_SZICONEXEINVALID (OLEUI_ERR_STANDARDMAX+2)
- // Property used by ChangeIcon dialog to give its parent window access to
- // its hDlg. The PasteSpecial dialog may need to force the ChgIcon dialog
- // down if the clipboard contents change underneath it. if so it will send
- // a IDCANCEL command to the ChangeIcon dialog.
- #define PROP_HWND_CHGICONDLG TEXT("HWND_CIDLG")
- /////////////////////////////////////////////////////////////////////////////
- // CONVERT DIALOG
- typedef struct tagOLEUICONVERTW
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: Flags
- HWND hWndOwner; // Owning window
- LPCWSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCWSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // Specifics for OLEUICONVERT.
- CLSID clsid; // IN: Class ID sent in to dialog: IN only
- CLSID clsidConvertDefault; // IN: use as convert default: IN only
- CLSID clsidActivateDefault; // IN: use as activate default: IN only
- CLSID clsidNew; // OUT: Selected Class ID
- DWORD dvAspect; // IN-OUT: either DVASPECT_CONTENT or
- // DVASPECT_ICON
- WORD wFormat; // IN" Original data format
- BOOL fIsLinkedObject;// IN: true if object is linked
- HGLOBAL hMetaPict; // IN-OUT: metafile icon image
- LPWSTR lpszUserType; // IN-OUT: user type name of original class.
- // We'll do lookup if NULL.
- // This gets freed on exit.
- BOOL fObjectsIconChanged; // OUT: TRUE == ChangeIcon was called
- LPWSTR lpszDefLabel; //IN-OUT: default label to use for icon.
- // if NULL, the short user type name
- // will be used. if the object is a
- // link, the caller should pass the
- // DisplayName of the link source
- // This gets freed on exit.
- UINT cClsidExclude; //IN: No. of CLSIDs in lpClsidExclude
- LPCLSID lpClsidExclude; //IN: List of CLSIDs to exclude from list
- } OLEUICONVERTW, *POLEUICONVERTW, *LPOLEUICONVERTW;
- typedef struct tagOLEUICONVERTA
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: Flags
- HWND hWndOwner; // Owning window
- LPCSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // Specifics for OLEUICONVERT.
- CLSID clsid; // IN: Class ID sent in to dialog: IN only
- CLSID clsidConvertDefault; // IN: use as convert default: IN only
- CLSID clsidActivateDefault; // IN: use as activate default: IN only
- CLSID clsidNew; // OUT: Selected Class ID
- DWORD dvAspect; // IN-OUT: either DVASPECT_CONTENT or
- // DVASPECT_ICON
- WORD wFormat; // IN" Original data format
- BOOL fIsLinkedObject;// IN: true if object is linked
- HGLOBAL hMetaPict; // IN-OUT: metafile icon image
- LPSTR lpszUserType; // IN-OUT: user type name of original class.
- // We'll do lookup if NULL.
- // This gets freed on exit.
- BOOL fObjectsIconChanged; // OUT: TRUE == ChangeIcon was called
- LPSTR lpszDefLabel; //IN-OUT: default label to use for icon.
- // if NULL, the short user type name
- // will be used. if the object is a
- // link, the caller should pass the
- // DisplayName of the link source
- // This gets freed on exit.
- UINT cClsidExclude; //IN: No. of CLSIDs in lpClsidExclude
- LPCLSID lpClsidExclude; //IN: List of CLSIDs to exclude from list
- } OLEUICONVERTA, *POLEUICONVERTA, *LPOLEUICONVERTA;
- STDAPI_(UINT) OleUIConvertW(LPOLEUICONVERTW);
- STDAPI_(UINT) OleUIConvertA(LPOLEUICONVERTA);
- #ifdef UNICODE
- #define tagOLEUICONVERT tagOLEUICONVERTW
- #define OLEUICONVERT OLEUICONVERTW
- #define POLEUICONVERT POLEUICONVERTW
- #define LPOLEUICONVERT LPOLEUICONVERTW
- #define OleUIConvert OleUIConvertW
- #else
- #define tagOLEUICONVERT tagOLEUICONVERTA
- #define OLEUICONVERT OLEUICONVERTA
- #define POLEUICONVERT POLEUICONVERTA
- #define LPOLEUICONVERT LPOLEUICONVERTA
- #define OleUIConvert OleUIConvertA
- #endif
- // Determine if there is at least one class that can Convert or ActivateAs
- // the given clsid.
- STDAPI_(BOOL) OleUICanConvertOrActivateAs(
- REFCLSID rClsid, BOOL fIsLinkedObject, WORD wFormat);
- // Convert Dialog flags
- #define CF_SHOWHELPBUTTON 0x00000001L
- #define CF_SETCONVERTDEFAULT 0x00000002L
- #define CF_SETACTIVATEDEFAULT 0x00000004L
- #define CF_SELECTCONVERTTO 0x00000008L
- #define CF_SELECTACTIVATEAS 0x00000010L
- #define CF_DISABLEDISPLAYASICON 0x00000020L
- #define CF_DISABLEACTIVATEAS 0x00000040L
- #define CF_HIDECHANGEICON 0x00000080L
- #define CF_CONVERTONLY 0x00000100L
- // Convert specific error codes
- #define OLEUI_CTERR_CLASSIDINVALID (OLEUI_ERR_STANDARDMAX+1)
- #define OLEUI_CTERR_DVASPECTINVALID (OLEUI_ERR_STANDARDMAX+2)
- #define OLEUI_CTERR_CBFORMATINVALID (OLEUI_ERR_STANDARDMAX+3)
- #define OLEUI_CTERR_HMETAPICTINVALID (OLEUI_ERR_STANDARDMAX+4)
- #define OLEUI_CTERR_STRINGINVALID (OLEUI_ERR_STANDARDMAX+5)
- /////////////////////////////////////////////////////////////////////////////
- // BUSY DIALOG
- typedef struct tagOLEUIBUSYW
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: see below
- HWND hWndOwner; // Owning window
- LPCWSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCWSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // Specifics for OLEUIBUSY.
- HTASK hTask; // IN: HTask which is blocking
- HWND * lphWndDialog; // OUT: Dialog's HWND is placed here
- } OLEUIBUSYW, *POLEUIBUSYW, *LPOLEUIBUSYW;
- typedef struct tagOLEUIBUSYA
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: see below
- HWND hWndOwner; // Owning window
- LPCSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // Specifics for OLEUIBUSY.
- HTASK hTask; // IN: HTask which is blocking
- HWND * lphWndDialog; // OUT: Dialog's HWND is placed here
- } OLEUIBUSYA, *POLEUIBUSYA, *LPOLEUIBUSYA;
- STDAPI_(UINT) OleUIBusyW(LPOLEUIBUSYW);
- STDAPI_(UINT) OleUIBusyA(LPOLEUIBUSYA);
- #ifdef UNICODE
- #define tagOLEUIBUSY tagOLEUIBUSYW
- #define OLEUIBUSY OLEUIBUSYW
- #define POLEUIBUSY POLEUIBUSYW
- #define LPOLEUIBUSY LPOLEUIBUSYW
- #define OleUIBusy OleUIBusyW
- #else
- #define tagOLEUIBUSY tagOLEUIBUSYA
- #define OLEUIBUSY OLEUIBUSYA
- #define POLEUIBUSY POLEUIBUSYA
- #define LPOLEUIBUSY LPOLEUIBUSYA
- #define OleUIBusy OleUIBusyA
- #endif
- // Flags for the Busy dialog
- #define BZ_DISABLECANCELBUTTON 0x00000001L
- #define BZ_DISABLESWITCHTOBUTTON 0x00000002L
- #define BZ_DISABLERETRYBUTTON 0x00000004L
- #define BZ_NOTRESPONDINGDIALOG 0x00000008L
- // Busy specific error/return codes
- #define OLEUI_BZERR_HTASKINVALID (OLEUI_ERR_STANDARDMAX+0)
- #define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1)
- #define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2)
- #define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3)
- /////////////////////////////////////////////////////////////////////////////
- // CHANGE SOURCE DIALOG
- // Data to and from the ChangeSource dialog hook
- typedef struct tagOLEUICHANGESOURCEW
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: Flags
- HWND hWndOwner; // Owning window
- LPCWSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCWSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // INTERNAL ONLY: do not modify these members
- OPENFILENAMEW* lpOFN; // pointer OPENFILENAME struct
- DWORD dwReserved1[4]; // (reserved for future use)
- // Specifics for OLEUICHANGESOURCE.
- LPOLEUILINKCONTAINERW lpOleUILinkContainer; // IN: used to validate link sources
- DWORD dwLink; // IN: magic# for lpOleUILinkContainer
- LPWSTR lpszDisplayName;// IN-OUT: complete source display name
- ULONG nFileLength; // IN-OUT: file moniker part of lpszDisplayName
- LPWSTR lpszFrom; // OUT: prefix of source changed from
- LPWSTR lpszTo; // OUT: prefix of source changed to
- } OLEUICHANGESOURCEW, *POLEUICHANGESOURCEW, *LPOLEUICHANGESOURCEW;
- typedef struct tagOLEUICHANGESOURCEA
- {
- // These IN fields are standard across all OLEUI dialog functions.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: Flags
- HWND hWndOwner; // Owning window
- LPCSTR lpszCaption; // Dialog caption bar contents
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- HINSTANCE hInstance; // Instance for customized template name
- LPCSTR lpszTemplate; // Customized template name
- HRSRC hResource; // Customized template handle
- // INTERNAL ONLY: do not modify these members
- OPENFILENAMEA* lpOFN; // pointer OPENFILENAME struct
- DWORD dwReserved1[4]; // (reserved for future use)
- // Specifics for OLEUICHANGESOURCE.
- LPOLEUILINKCONTAINERA lpOleUILinkContainer; // IN: used to validate link sources
- DWORD dwLink; // IN: magic# for lpOleUILinkContainer
- LPSTR lpszDisplayName;// IN-OUT: complete source display name
- ULONG nFileLength; // IN-OUT: file moniker part of lpszDisplayName
- LPSTR lpszFrom; // OUT: prefix of source changed from
- LPSTR lpszTo; // OUT: prefix of source changed to
- } OLEUICHANGESOURCEA, *POLEUICHANGESOURCEA, *LPOLEUICHANGESOURCEA;
- STDAPI_(UINT) OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
- STDAPI_(UINT) OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
- #ifdef UNICODE
- #define tagOLEUICHANGESOURCE tagOLEUICHANGESOURCEW
- #define OLEUICHANGESOURCE OLEUICHANGESOURCEW
- #define POLEUICHANGESOURCE POLEUICHANGESOURCEW
- #define LPOLEUICHANGESOURCE LPOLEUICHANGESOURCEW
- #define OleUIChangeSource OleUIChangeSourceW
- #else
- #define tagOLEUICHANGESOURCE tagOLEUICHANGESOURCEA
- #define OLEUICHANGESOURCE OLEUICHANGESOURCEA
- #define POLEUICHANGESOURCE POLEUICHANGESOURCEA
- #define LPOLEUICHANGESOURCE LPOLEUICHANGESOURCEA
- #define OleUIChangeSource OleUIChangeSourceA
- #endif
- // Change Source Dialog flags
- #define CSF_SHOWHELP 0x00000001L // IN: enable/show help button
- #define CSF_VALIDSOURCE 0x00000002L // OUT: link was validated
- #define CSF_ONLYGETSOURCE 0x00000004L // IN: disables validation of source
- #define CSF_EXPLORER 0x00000008L // IN: use new OFN_EXPLORER custom template behavior
- // Change Source Dialog errors
- #define OLEUI_CSERR_LINKCNTRNULL (OLEUI_ERR_STANDARDMAX+0)
- #define OLEUI_CSERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+1)
- #define OLEUI_CSERR_FROMNOTNULL (OLEUI_ERR_STANDARDMAX+2)
- #define OLEUI_CSERR_TONOTNULL (OLEUI_ERR_STANDARDMAX+3)
- #define OLEUI_CSERR_SOURCENULL (OLEUI_ERR_STANDARDMAX+4)
- #define OLEUI_CSERR_SOURCEINVALID (OLEUI_ERR_STANDARDMAX+5)
- #define OLEUI_CSERR_SOURCEPARSERROR (OLEUI_ERR_STANDARDMAX+6)
- #define OLEUI_CSERR_SOURCEPARSEERROR (OLEUI_ERR_STANDARDMAX+6)
- /////////////////////////////////////////////////////////////////////////////
- // OBJECT PROPERTIES DIALOG
- #undef INTERFACE
- #define INTERFACE IOleUIObjInfoW
- DECLARE_INTERFACE_(IOleUIObjInfoW, IUnknown)
- {
- // *** IUnknown methods *** //
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- // *** extra for General Properties *** //
- STDMETHOD(GetObjectInfo) (THIS_ DWORD dwObject,
- DWORD FAR* lpdwObjSize, LPWSTR FAR* lplpszLabel,
- LPWSTR FAR* lplpszType, LPWSTR FAR* lplpszShortType,
- LPWSTR FAR* lplpszLocation) PURE;
- STDMETHOD(GetConvertInfo) (THIS_ DWORD dwObject,
- CLSID FAR* lpClassID, WORD FAR* lpwFormat,
- CLSID FAR* lpConvertDefaultClassID,
- LPCLSID FAR* lplpClsidExclude, UINT FAR* lpcClsidExclude) PURE;
- STDMETHOD(ConvertObject) (THIS_ DWORD dwObject, REFCLSID clsidNew) PURE;
- // *** extra for View Properties *** //
- STDMETHOD(GetViewInfo) (THIS_ DWORD dwObject,
- HGLOBAL FAR* phMetaPict, DWORD* pdvAspect, int* pnCurrentScale) PURE;
- STDMETHOD(SetViewInfo) (THIS_ DWORD dwObject,
- HGLOBAL hMetaPict, DWORD dvAspect,
- int nCurrentScale, BOOL bRelativeToOrig) PURE;
- };
- typedef IOleUIObjInfoW FAR* LPOLEUIOBJINFOW;
- #undef INTERFACE
- #define INTERFACE IOleUIObjInfoA
- DECLARE_INTERFACE_(IOleUIObjInfoA, IUnknown)
- {
- // *** IUnknown methods *** //
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- // *** extra for General Properties *** //
- STDMETHOD(GetObjectInfo) (THIS_ DWORD dwObject,
- DWORD FAR* lpdwObjSize, LPSTR FAR* lplpszLabel,
- LPSTR FAR* lplpszType, LPSTR FAR* lplpszShortType,
- LPSTR FAR* lplpszLocation) PURE;
- STDMETHOD(GetConvertInfo) (THIS_ DWORD dwObject,
- CLSID FAR* lpClassID, WORD FAR* lpwFormat,
- CLSID FAR* lpConvertDefaultClassID,
- LPCLSID FAR* lplpClsidExclude, UINT FAR* lpcClsidExclude) PURE;
- STDMETHOD(ConvertObject) (THIS_ DWORD dwObject, REFCLSID clsidNew) PURE;
- // *** extra for View Properties *** //
- STDMETHOD(GetViewInfo) (THIS_ DWORD dwObject,
- HGLOBAL FAR* phMetaPict, DWORD* pdvAspect, int* pnCurrentScale) PURE;
- STDMETHOD(SetViewInfo) (THIS_ DWORD dwObject,
- HGLOBAL hMetaPict, DWORD dvAspect,
- int nCurrentScale, BOOL bRelativeToOrig) PURE;
- };
- typedef IOleUIObjInfoA FAR* LPOLEUIOBJINFOA;
- #ifdef UNICODE
- #define IOleUIObjInfo IOleUIObjInfoW
- #define IOleUIObjInfoVtbl IOleUIObjInfoWVtbl
- #define LPOLEUIOBJINFO LPOLEUIOBJINFOW
- #else
- #define IOleUIObjInfo IOleUIObjInfoA
- #define IOleUIObjInfoVtbl IOleUIObjInfoAVtbl
- #define LPOLEUIOBJINFO LPOLEUIOBJINFOA
- #endif
- #undef INTERFACE
- #define INTERFACE IOleUILinkInfoW
- DECLARE_INTERFACE_(IOleUILinkInfoW, IOleUILinkContainerW)
- {
- // *** IUnknown methods *** //
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- // *** IOleUILinkContainer *** //
- STDMETHOD_(DWORD,GetNextLink) (THIS_ DWORD dwLink) PURE;
- STDMETHOD(SetLinkUpdateOptions) (THIS_ DWORD dwLink,
- DWORD dwUpdateOpt) PURE;
- STDMETHOD(GetLinkUpdateOptions) (THIS_ DWORD dwLink,
- DWORD FAR* lpdwUpdateOpt) PURE;
- STDMETHOD(SetLinkSource) (THIS_ DWORD dwLink, LPWSTR lpszDisplayName,
- ULONG lenFileName, ULONG FAR* pchEaten, BOOL fValidateSource) PURE;
- STDMETHOD(GetLinkSource) (THIS_ DWORD dwLink,
- LPWSTR FAR* lplpszDisplayName, ULONG FAR* lplenFileName,
- LPWSTR FAR* lplpszFullLinkType, LPWSTR FAR* lplpszShortLinkType,
- BOOL FAR* lpfSourceAvailable, BOOL FAR* lpfIsSelected) PURE;
- STDMETHOD(OpenLinkSource) (THIS_ DWORD dwLink) PURE;
- STDMETHOD(UpdateLink) (THIS_ DWORD dwLink,
- BOOL fErrorMessage, BOOL fReserved) PURE;
- STDMETHOD(CancelLink) (THIS_ DWORD dwLink) PURE;
- // *** extra for Link Properties *** //
- STDMETHOD(GetLastUpdate) (THIS_ DWORD dwLink,
- FILETIME FAR* lpLastUpdate) PURE;
- };
- typedef IOleUILinkInfoW FAR* LPOLEUILINKINFOW;
- #undef INTERFACE
- #define INTERFACE IOleUILinkInfoA
- DECLARE_INTERFACE_(IOleUILinkInfoA, IOleUILinkContainerA)
- {
- // *** IUnknown methods *** //
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- // *** IOleUILinkContainer *** //
- STDMETHOD_(DWORD,GetNextLink) (THIS_ DWORD dwLink) PURE;
- STDMETHOD(SetLinkUpdateOptions) (THIS_ DWORD dwLink,
- DWORD dwUpdateOpt) PURE;
- STDMETHOD(GetLinkUpdateOptions) (THIS_ DWORD dwLink,
- DWORD FAR* lpdwUpdateOpt) PURE;
- STDMETHOD(SetLinkSource) (THIS_ DWORD dwLink, LPSTR lpszDisplayName,
- ULONG lenFileName, ULONG FAR* pchEaten, BOOL fValidateSource) PURE;
- STDMETHOD(GetLinkSource) (THIS_ DWORD dwLink,
- LPSTR FAR* lplpszDisplayName, ULONG FAR* lplenFileName,
- LPSTR FAR* lplpszFullLinkType, LPSTR FAR* lplpszShortLinkType,
- BOOL FAR* lpfSourceAvailable, BOOL FAR* lpfIsSelected) PURE;
- STDMETHOD(OpenLinkSource) (THIS_ DWORD dwLink) PURE;
- STDMETHOD(UpdateLink) (THIS_ DWORD dwLink,
- BOOL fErrorMessage, BOOL fReserved) PURE;
- STDMETHOD(CancelLink) (THIS_ DWORD dwLink) PURE;
- // *** extra for Link Properties *** //
- STDMETHOD(GetLastUpdate) (THIS_ DWORD dwLink,
- FILETIME FAR* lpLastUpdate) PURE;
- };
- typedef IOleUILinkInfoA FAR* LPOLEUILINKINFOA;
- #ifdef UNICODE
- #define IOleUILinkInfo IOleUILinkInfoW
- #define IOleUILinkInfoVtbl IOleUILinkInfoWVtbl
- #define LPOLEUILINKINFO LPOLEUILINKINFOW
- #else
- #define IOleUILinkInfo IOleUILinkInfoA
- #define IOleUILinkInfoVtbl IOleUILinkInfoAVtbl
- #define LPOLEUILINKINFO LPOLEUILINKINFOA
- #endif
- struct tagOLEUIOBJECTPROPSW;
- struct tagOLEUIOBJECTPROPSA;
- typedef struct tagOLEUIGNRLPROPSW
- {
- // These IN fields are standard across all OLEUI property pages.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: flags specific to general page
- DWORD dwReserved1[2];
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- DWORD dwReserved2[3];
- struct tagOLEUIOBJECTPROPSW* lpOP; // (used internally)
- } OLEUIGNRLPROPSW, *POLEUIGNRLPROPSW, FAR* LPOLEUIGNRLPROPSW;
- typedef struct tagOLEUIGNRLPROPSA
- {
- // These IN fields are standard across all OLEUI property pages.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: flags specific to general page
- DWORD dwReserved1[2];
- LPFNOLEUIHOOK lpfnHook; // Hook callback
- LPARAM lCustData; // Custom data to pass to hook
- DWORD dwReserved2[3];
- struct tagOLEUIOBJECTPROPSA* lpOP; // (used internally)
- } OLEUIGNRLPROPSA, *POLEUIGNRLPROPSA, FAR* LPOLEUIGNRLPROPSA;
- #ifdef UNICODE
- #define tagOLEUIGNRLPROPS tagOLEUIGNRLPROPSW
- #define OLEUIGNRLPROPS OLEUIGNRLPROPSW
- #define POLEUIGNRLPROPS POLEUIGNRLPROPSW
- #define LPOLEUIGNRLPROPS LPOLEUIGNRLPROPSW
- #else
- #define tagOLEUIGNRLPROPS tagOLEUIGNRLPROPSA
- #define OLEUIGNRLPROPS OLEUIGNRLPROPSA
- #define POLEUIGNRLPROPS POLEUIGNRLPROPSA
- #define LPOLEUIGNRLPROPS LPOLEUIGNRLPROPSA
- #endif
- typedef struct tagOLEUIVIEWPROPSW
- {
- // These IN fields are standard across all OLEUI property pages.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: flags specific to view page
- DWORD dwReserved1[2];
- LPFNOLEUIHOOK lpfnHook; // Hook callback (not used in this dialog)
- LPARAM lCustData; // Custom data to pass to hook
- DWORD dwReserved2[3];
- struct tagOLEUIOBJECTPROPSW* lpOP; // (used internally)
- int nScaleMin; // scale range
- int nScaleMax;
- } OLEUIVIEWPROPSW, *POLEUIVIEWPROPSW, FAR* LPOLEUIVIEWPROPSW;
- typedef struct tagOLEUIVIEWPROPSA
- {
- // These IN fields are standard across all OLEUI property pages.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: flags specific to view page
- DWORD dwReserved1[2];
- LPFNOLEUIHOOK lpfnHook; // Hook callback (not used in this dialog)
- LPARAM lCustData; // Custom data to pass to hook
- DWORD dwReserved2[3];
- struct tagOLEUIOBJECTPROPSA* lpOP; // (used internally)
- int nScaleMin; // scale range
- int nScaleMax;
- } OLEUIVIEWPROPSA, *POLEUIVIEWPROPSA, FAR* LPOLEUIVIEWPROPSA;
- #ifdef UNICODE
- #define tagOLEUIVIEWPROPS tagOLEUIVIEWPROPSW
- #define OLEUIVIEWPROPS OLEUIVIEWPROPSW
- #define POLEUIVIEWPROPS POLEUIVIEWPROPSW
- #define LPOLEUIVIEWPROPS LPOLEUIVIEWPROPSW
- #else
- #define tagOLEUIVIEWPROPS tagOLEUIVIEWPROPSA
- #define OLEUIVIEWPROPS OLEUIVIEWPROPSA
- #define POLEUIVIEWPROPS POLEUIVIEWPROPSA
- #define LPOLEUIVIEWPROPS LPOLEUIVIEWPROPSA
- #endif
- // Flags for OLEUIVIEWPROPS
- #define VPF_SELECTRELATIVE 0x00000001L // IN: relative to orig
- #define VPF_DISABLERELATIVE 0x00000002L // IN: disable relative to orig
- #define VPF_DISABLESCALE 0x00000004L // IN: disable scale option
- typedef struct tagOLEUILINKPROPSW
- {
- // These IN fields are standard across all OLEUI property pages.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: flags specific to links page
- DWORD dwReserved1[2];
- LPFNOLEUIHOOK lpfnHook; // Hook callback (not used in this dialog)
- LPARAM lCustData; // Custom data to pass to hook
- DWORD dwReserved2[3];
- struct tagOLEUIOBJECTPROPSW* lpOP; // (used internally)
- } OLEUILINKPROPSW, *POLEUILINKPROPSW, FAR* LPOLEUILINKPROPSW;
- typedef struct tagOLEUILINKPROPSA
- {
- // These IN fields are standard across all OLEUI property pages.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: flags specific to links page
- DWORD dwReserved1[2];
- LPFNOLEUIHOOK lpfnHook; // Hook callback (not used in this dialog)
- LPARAM lCustData; // Custom data to pass to hook
- DWORD dwReserved2[3];
- struct tagOLEUIOBJECTPROPSA* lpOP; // (used internally)
- } OLEUILINKPROPSA, *POLEUILINKPROPSA, FAR* LPOLEUILINKPROPSA;
- #ifdef UNICODE
- #define tagOLEUILINKPROPS tagOLEUILINKPROPSW
- #define OLEUILINKPROPS OLEUILINKPROPSW
- #define POLEUILINKPROPS POLEUILINKPROPSW
- #define LPOLEUILINKPROPS LPOLEUILINKPROPSW
- #else
- #define tagOLEUILINKPROPS tagOLEUILINKPROPSA
- #define OLEUILINKPROPS OLEUILINKPROPSA
- #define POLEUILINKPROPS POLEUILINKPROPSA
- #define LPOLEUILINKPROPS LPOLEUILINKPROPSA
- #endif
- #if (WINVER >= 0x400)
- // Under Windows 95 prsht.h is NOT a part of the normal Windows
- // environment, so we explicitly include it here to be safe.
- #include <prsht.h>
- #ifndef PSM_SETFINISHTEXTA
- // We are building under Windows 95.
- //
- // Under Windows 95 there are no wide-character definitions
- // for the property sheet code.
- //
- // Since the UNICODE version of our API is not implemented on Windows 95,
- // this only creates a semantic problem. The entry points will still
- // look the same and the code will still work the same if we define
- // LPPROPSHEETHEADERW to be the narrow version of the structure.
- typedef struct _PROPSHEETHEADER FAR* LPPROPSHEETHEADERW;
- typedef struct _PROPSHEETHEADER FAR* LPPROPSHEETHEADERA;
- #else
- // We are building under Windows NT.
- // Go ahead and define LPPROPSHEETHEADERW as it should be defined!
- typedef struct _PROPSHEETHEADERW FAR* LPPROPSHEETHEADERW;
- typedef struct _PROPSHEETHEADERA FAR* LPPROPSHEETHEADERA;
- #ifdef UNICODE
- #define LPPROPSHEETHEADER LPPROPSHEETHEADERW
- #else
- #define LPPROPSHEETHEADER LPPROPSHEETHEADERA
- #endif
- #endif // PSM_SETFINISHTEXTA
- #else // WINVER
- // If WINVER < 0x400, then PROPSHEETHEADER stuff isn't defined.
- // The user won't be able to use the prop-sheet code, so we just define the
- // necessary structures to be void pointers to enable to header file to
- // at least compile correctly.
- typedef void FAR* LPPROPSHEETHEADERW;
- typedef void FAR* LPPROPSHEETHEADERA;
- #ifdef UNICODE
- #define LPPROPSHEETHEADER LPPROPSHEETHEADERW
- #else
- #define LPPROPSHEETHEADER LPPROPSHEETHEADERA
- #endif
- #endif // WINVER
- typedef struct tagOLEUIOBJECTPROPSW
- {
- // These IN fields are standard across all OLEUI property sheets.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: global flags for the sheet
- // Standard PROPSHEETHEADER used for extensibility
- LPPROPSHEETHEADERW lpPS; // IN: property sheet header
- // Data which allows manipulation of the object
- DWORD dwObject; // IN: identifier for the object
- LPOLEUIOBJINFOW lpObjInfo; // IN: interface to manipulate object
- // Data which allows manipulation of the link
- DWORD dwLink; // IN: identifier for the link
- LPOLEUILINKINFOW lpLinkInfo; // IN: interface to manipulate link
- // Data specfic to each page
- LPOLEUIGNRLPROPSW lpGP; // IN: general page
- LPOLEUIVIEWPROPSW lpVP; // IN: view page
- LPOLEUILINKPROPSW lpLP; // IN: link page
- } OLEUIOBJECTPROPSW, *POLEUIOBJECTPROPSW, FAR* LPOLEUIOBJECTPROPSW;
- typedef struct tagOLEUIOBJECTPROPSA
- {
- // These IN fields are standard across all OLEUI property sheets.
- DWORD cbStruct; // Structure Size
- DWORD dwFlags; // IN-OUT: global flags for the sheet
- // Standard PROPSHEETHEADER used for extensibility
- LPPROPSHEETHEADERA lpPS; // IN: property sheet header
- // Data which allows manipulation of the object
- DWORD dwObject; // IN: identifier for the object
- LPOLEUIOBJINFOA lpObjInfo; // IN: interface to manipulate object
- // Data which allows manipulation of the link
- DWORD dwLink; // IN: identifier for the link
- LPOLEUILINKINFOA lpLinkInfo; // IN: interface to manipulate link
- // Data specfic to each page
- LPOLEUIGNRLPROPSA lpGP; // IN: general page
- LPOLEUIVIEWPROPSA lpVP; // IN: view page
- LPOLEUILINKPROPSA lpLP; // IN: link page
- } OLEUIOBJECTPROPSA, *POLEUIOBJECTPROPSA, FAR* LPOLEUIOBJECTPROPSA;
- STDAPI_(UINT) OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
- STDAPI_(UINT) OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
- #ifdef UNICODE
- #define tagOLEUIOBJECTPROPS tagOLEUIOBJECTPROPSW
- #define OLEUIOBJECTPROPS OLEUIOBJECTPROPSW
- #define POLEUIOBJECTPROPS POLEUIOBJECTPROPSW
- #define LPOLEUIOBJECTPROPS LPOLEUIOBJECTPROPSW
- #define OleUIObjectProperties OleUIObjectPropertiesW
- #else
- #define tagOLEUIOBJECTPROPS tagOLEUIOBJECTPROPSA
- #define OLEUIOBJECTPROPS OLEUIOBJECTPROPSA
- #define POLEUIOBJECTPROPS POLEUIOBJECTPROPSA
- #define LPOLEUIOBJECTPROPS LPOLEUIOBJECTPROPSA
- #define OleUIObjectProperties OleUIObjectPropertiesA
- #endif
- // Flags for OLEUIOBJECTPROPS
- #define OPF_OBJECTISLINK 0x00000001L
- #define OPF_NOFILLDEFAULT 0x00000002L
- #define OPF_SHOWHELP 0x00000004L
- #define OPF_DISABLECONVERT 0x00000008L
- // Errors for OleUIObjectProperties
- #define OLEUI_OPERR_SUBPROPNULL (OLEUI_ERR_STANDARDMAX+0)
- #define OLEUI_OPERR_SUBPROPINVALID (OLEUI_ERR_STANDARDMAX+1)
- #define OLEUI_OPERR_PROPSHEETNULL (OLEUI_ERR_STANDARDMAX+2)
- #define OLEUI_OPERR_PROPSHEETINVALID (OLEUI_ERR_STANDARDMAX+3)
- #define OLEUI_OPERR_SUPPROP (OLEUI_ERR_STANDARDMAX+4)
- #define OLEUI_OPERR_PROPSINVALID (OLEUI_ERR_STANDARDMAX+5)
- #define OLEUI_OPERR_PAGESINCORRECT (OLEUI_ERR_STANDARDMAX+6)
- #define OLEUI_OPERR_INVALIDPAGES (OLEUI_ERR_STANDARDMAX+7)
- #define OLEUI_OPERR_NOTSUPPORTED (OLEUI_ERR_STANDARDMAX+8)
- #define OLEUI_OPERR_DLGPROCNOTNULL (OLEUI_ERR_STANDARDMAX+9)
- #define OLEUI_OPERR_LPARAMNOTZERO (OLEUI_ERR_STANDARDMAX+10)
- #define OLEUI_GPERR_STRINGINVALID (OLEUI_ERR_STANDARDMAX+11)
- #define OLEUI_GPERR_CLASSIDINVALID (OLEUI_ERR_STANDARDMAX+12)
- #define OLEUI_GPERR_LPCLSIDEXCLUDEINVALID (OLEUI_ERR_STANDARDMAX+13)
- #define OLEUI_GPERR_CBFORMATINVALID (OLEUI_ERR_STANDARDMAX+14)
- #define OLEUI_VPERR_METAPICTINVALID (OLEUI_ERR_STANDARDMAX+15)
- #define OLEUI_VPERR_DVASPECTINVALID (OLEUI_ERR_STANDARDMAX+16)
- #define OLEUI_LPERR_LINKCNTRNULL (OLEUI_ERR_STANDARDMAX+17)
- #define OLEUI_LPERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+18)
- #define OLEUI_OPERR_PROPERTYSHEET (OLEUI_ERR_STANDARDMAX+19)
- #define OLEUI_OPERR_OBJINFOINVALID (OLEUI_ERR_STANDARDMAX+20)
- #define OLEUI_OPERR_LINKINFOINVALID (OLEUI_ERR_STANDARDMAX+21)
- // wParam used by PSM_QUERYSIBLINGS
- #define OLEUI_QUERY_GETCLASSID 0xFF00 // override class id for icon
- #define OLEUI_QUERY_LINKBROKEN 0xFF01 // after link broken
- /////////////////////////////////////////////////////////////////////////////
- // PROMPT USER DIALOGS
- int __cdecl OleUIPromptUserW(int nTemplate, HWND hwndParent, ...);
- int __cdecl OleUIPromptUserA(int nTemplate, HWND hwndParent, ...);
- #ifdef UNICODE
- #define OleUIPromptUser OleUIPromptUserW
- #else
- #define OleUIPromptUser OleUIPromptUserA
- #endif
- STDAPI_(BOOL) OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr,
- HWND hwndParent, LPWSTR lpszTitle, int cLinks);
- STDAPI_(BOOL) OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr,
- HWND hwndParent, LPSTR lpszTitle, int cLinks);
- #ifdef UNICODE
- #define OleUIUpdateLinks OleUIUpdateLinksW
- #else
- #define OleUIUpdateLinks OleUIUpdateLinksA
- #endif
- /////////////////////////////////////////////////////////////////////////////
- #pragma pack(pop)
- #ifdef __cplusplus
- }
- #endif
- #endif // RC_INVOKED
- #endif //_OLEDLG_H_
- /////////////////////////////////////////////////////////////////////////////