📄 oledlg.h
字号:
{
// 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -