282 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			282 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/***************************************************************************
 | 
						|
 * DSOFRAMER.IDL  - DSO Framer ActiveX Control Type Library
 | 
						|
 *
 | 
						|
 *  Copyright ©1999-2004; Microsoft Corporation. All rights reserved.
 | 
						|
 *  Written by Microsoft Developer Support Office Integration (PSS DSOI)
 | 
						|
 * 
 | 
						|
 *  This code is provided via KB 311765 as a sample. It is not a formal
 | 
						|
 *  product and has not been tested with all containers or servers. Use it
 | 
						|
 *  for educational purposes only. See the EULA.TXT file included in the
 | 
						|
 *  KB download for full terms of use and restrictions.
 | 
						|
 *
 | 
						|
 *  THIS CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 
 | 
						|
 *  EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
 | 
						|
 *  WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
 | 
						|
 *
 | 
						|
 ***************************************************************************/
 | 
						|
/***************************************************************************
 | 
						|
 *
 | 
						|
 *  IMPORTANT: You should not attempt to modify this library unless you are
 | 
						|
 *  sure you do not break binary compatibility, or you change all the GUIDs
 | 
						|
 *  listed in version.h so as to build a completely new control.
 | 
						|
 *
 | 
						|
 ***************************************************************************/
 | 
						|
#include <olectl.h>
 | 
						|
#include "..\version.h"
 | 
						|
 | 
						|
[
 | 
						|
	uuid(DSOFRAMERCTL_TLIB), helpstring(DSOFRAMERCTL_FULLNAME),
 | 
						|
	version(DSOFRAMERCTL_VERSION), lcid(0x0000), control
 | 
						|
]
 | 
						|
library DSOFramer
 | 
						|
{
 | 
						|
	importlib("STDOLE2.TLB");
 | 
						|
 | 
						|
	typedef enum dsoBorderStyle
 | 
						|
	{
 | 
						|
		dsoBorderNone = 0,
 | 
						|
		dsoBorderFlat,
 | 
						|
		dsoBorder3D,
 | 
						|
		dsoBorder3DThin
 | 
						|
	} dsoBorderStyle;
 | 
						|
 | 
						|
	typedef enum dsoShowDialogType
 | 
						|
	{
 | 
						|
		dsoDialogNew = 0,
 | 
						|
		dsoDialogOpen,
 | 
						|
		dsoDialogSave,
 | 
						|
		dsoDialogSaveCopy,
 | 
						|
		dsoDialogPrint,
 | 
						|
		dsoDialogPageSetup,
 | 
						|
		dsoDialogProperties
 | 
						|
	} dsoShowDialogType;
 | 
						|
 | 
						|
	typedef enum dsoFileCommandType
 | 
						|
	{
 | 
						|
		dsoFileNew = 0,
 | 
						|
		dsoFileOpen,
 | 
						|
		dsoFileClose,
 | 
						|
		dsoFileSave,
 | 
						|
		dsoFileSaveAs,
 | 
						|
		dsoFilePrint,
 | 
						|
		dsoFilePageSetup,
 | 
						|
		dsoFileProperties,
 | 
						|
		dsoFilePrintPreview
 | 
						|
	} dsoFileCommandType;
 | 
						|
 | 
						|
 | 
						|
	[
 | 
						|
		uuid(DSOFRAMERCTL_INTERFACE), hidden, version(DSOFRAMERCTL_VERSION),
 | 
						|
		dual, oleautomation, odl
 | 
						|
	]
 | 
						|
	interface _FramerControl : IDispatch
 | 
						|
	{
 | 
						|
		[id(0x00010001), helpstring("Activates the current document object.")]
 | 
						|
		HRESULT Activate();
 | 
						|
 | 
						|
		[propget, id(0x00010002), helpstring("Returns the Automation interface of the document object.")]
 | 
						|
		HRESULT ActiveDocument([out,retval] IDispatch** ppdisp);
 | 
						|
 | 
						|
		[id(0x00010003), helpstring("Creates a new document based on the ProgId or Template file provided.")]
 | 
						|
		HRESULT CreateNew([in] BSTR ProgIdOrTemplate);
 | 
						|
 | 
						|
		[id(0x00010004), helpstring("Opens a document from a file, URL, or Automation object.")]
 | 
						|
		HRESULT Open([in] VARIANT Document, [in, optional] VARIANT ReadOnly, [in, optional] VARIANT ProgId, [in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword);
 | 
						|
 | 
						|
		[id(0x00010005), helpstring("Saves the document to specified location or its original location.")]
 | 
						|
		HRESULT Save([in, optional] VARIANT SaveAsDocument, [in, optional] VARIANT OverwriteExisting, [in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword);
 | 
						|
 | 
						|
		[id(0x00010008), hidden]
 | 
						|
		HRESULT _PrintOutOld([in, optional] VARIANT PromptToSelectPrinter);
 | 
						|
 | 
						|
		[id(0x00010009), helpstring("Closes the currently open document.")]
 | 
						|
		HRESULT Close();
 | 
						|
 | 
						|
		[propput, id(0x0001000A), helpstring("Returns/sets the titlebar caption.")]
 | 
						|
		HRESULT Caption([in] BSTR bstr);
 | 
						|
		[propget, id(0x0001000A)]
 | 
						|
		HRESULT Caption([out,retval] BSTR* pbstr);
 | 
						|
 | 
						|
		[propput, id(0x0001000B), helpstring("Returns/sets whether the titlebar should be displayed.")]
 | 
						|
		HRESULT Titlebar([in] VARIANT_BOOL vbool);
 | 
						|
		[propget, id(0x0001000B)]
 | 
						|
		HRESULT Titlebar([out,retval] VARIANT_BOOL* pbool);
 | 
						|
 | 
						|
		[propput, id(0x0001000C), helpstring("Returns/sets whether toolbars should be displayed.")]
 | 
						|
		HRESULT Toolbars([in] VARIANT_BOOL vbool);
 | 
						|
		[propget, id(0x0001000C)]
 | 
						|
		HRESULT Toolbars([out,retval] VARIANT_BOOL* pbool);
 | 
						|
 | 
						|
		[propput, nonbrowsable, id(0x0001000D), helpstring("Returns/sets the controls modal state.")]
 | 
						|
		HRESULT ModalState([in] VARIANT_BOOL vbool);
 | 
						|
		[propget, nonbrowsable, id(0x0001000D)]
 | 
						|
		HRESULT ModalState([out,retval] VARIANT_BOOL* pbool);
 | 
						|
 | 
						|
		[id(0x0001000E), helpstring("Displays a modal dialog of the given type for user action.")]
 | 
						|
		HRESULT ShowDialog([in] dsoShowDialogType DlgType);
 | 
						|
 | 
						|
		[propput, id(0x0001000F), helpstring("Returns/sets whether a specific action item is enabled.")]
 | 
						|
		HRESULT EnableFileCommand([in] dsoFileCommandType Item, [in] VARIANT_BOOL vbool);
 | 
						|
		[propget, id(0x0001000F)]
 | 
						|
		HRESULT EnableFileCommand([in] dsoFileCommandType Item, [out,retval] VARIANT_BOOL* pbool);
 | 
						|
 | 
						|
		[propput, id(DISPID_BORDERSTYLE), helpstring("Returns/sets the border style for the control.")]
 | 
						|
		HRESULT BorderStyle([in] dsoBorderStyle style);
 | 
						|
		[propget, id(DISPID_BORDERSTYLE)]
 | 
						|
		HRESULT BorderStyle([out, retval] dsoBorderStyle* pstyle);
 | 
						|
 | 
						|
		[propput, id(DISPID_BORDERCOLOR), helpstring("Returns/sets the border color of the control.")]
 | 
						|
		HRESULT BorderColor([in] OLE_COLOR clr);
 | 
						|
		[propget, id(DISPID_BORDERCOLOR)]
 | 
						|
		HRESULT BorderColor([out,retval] OLE_COLOR* pclr);
 | 
						|
 | 
						|
		[propput, id(DISPID_BACKCOLOR), helpstring("Returns/sets the background color of the control.")]
 | 
						|
		HRESULT BackColor([in] OLE_COLOR clr);
 | 
						|
		[propget, id(DISPID_BACKCOLOR)]
 | 
						|
		HRESULT BackColor([out,retval] OLE_COLOR* pclr);
 | 
						|
 | 
						|
		[propput, id(DISPID_FORECOLOR), helpstring("Returns/sets the foreground color of the control.")]
 | 
						|
		HRESULT ForeColor([in]OLE_COLOR clr);
 | 
						|
		[propget, id(DISPID_FORECOLOR)]
 | 
						|
		HRESULT ForeColor([out,retval]OLE_COLOR* pclr);
 | 
						|
 | 
						|
		[propput, id(0x00010010), helpstring("Returns/sets the color of the titlebar.")]
 | 
						|
		HRESULT TitlebarColor([in] OLE_COLOR clr);
 | 
						|
		[propget, id(0x00010010)]
 | 
						|
		HRESULT TitlebarColor([out,retval] OLE_COLOR* pclr);
 | 
						|
 | 
						|
		[propput, id(0x00010011), helpstring("Returns/sets the color of text for the titlebar.")]
 | 
						|
		HRESULT TitlebarTextColor([in] OLE_COLOR clr);
 | 
						|
		[propget, id(0x00010011)]
 | 
						|
		HRESULT TitlebarTextColor([out,retval] OLE_COLOR* pclr);
 | 
						|
 | 
						|
		[id(0x00010012), helpstring("Calls IOleCommandTarget::Exec on embedded object.")]
 | 
						|
		HRESULT ExecOleCommand([in] LONG OLECMDID, [in, optional] VARIANT Options, [in, optional] VARIANT* vInParam, [in, out, optional] VARIANT* vInOutParam);
 | 
						|
 | 
						|
		[propput, id(0x00010013), helpstring("Returns/sets whether a menu bar should be displayed.")]
 | 
						|
		HRESULT Menubar([in] VARIANT_BOOL vbool);
 | 
						|
		[propget, id(0x00010013)]
 | 
						|
		HRESULT Menubar([out,retval] VARIANT_BOOL* pbool);
 | 
						|
 | 
						|
		[propput, id(0x00010014), helpstring("Returns/sets host application name (used in embedding).")]
 | 
						|
		HRESULT HostName([in] BSTR bstr);
 | 
						|
		[propget, id(0x00010014)]
 | 
						|
		HRESULT HostName([out,retval] BSTR* pbstr);
 | 
						|
 | 
						|
		[propget, id(0x00010015), helpstring("Returns full document path name for object.")]
 | 
						|
		HRESULT DocumentFullName([out,retval] BSTR* pbstr);
 | 
						|
 | 
						|
		[id(0x00010016), helpstring("Prints current document to specific printer with settings.")]
 | 
						|
		HRESULT PrintOut([in, optional] VARIANT PromptUser, [in, optional] VARIANT PrinterName, [in, optional] VARIANT Copies,
 | 
						|
			 [in, optional] VARIANT FromPage, [in, optional] VARIANT ToPage, [in, optional] VARIANT OutputFile);
 | 
						|
 | 
						|
		[id(0x00010017), helpstring("Starts a print preview (if document supports it).")]
 | 
						|
		HRESULT PrintPreview();
 | 
						|
		 
 | 
						|
		[id(0x00010018), helpstring("Exits a current print preview.")]
 | 
						|
		HRESULT PrintPreviewExit();
 | 
						|
 | 
						|
		[propget, id(0x00010019), helpstring("Returns True/False if file was open read-only, or has not been saved.")]
 | 
						|
		HRESULT IsReadOnly([out,retval] VARIANT_BOOL* pbool);
 | 
						|
 | 
						|
		[propget, id(0x0001001A), helpstring("Returns True/False if file has been altered or needs save.")]
 | 
						|
		HRESULT IsDirty([out,retval] VARIANT_BOOL* pbool);
 | 
						|
 | 
						|
		[propput, id(0x0001001B), helpstring("Sets lock on the current embed server to keep it running (document must be open first).")]
 | 
						|
		HRESULT LockServer([in] VARIANT_BOOL vbool);
 | 
						|
		[propget, id(0x0001001B)]
 | 
						|
		HRESULT LockServer([out,retval] VARIANT_BOOL* pvbool);
 | 
						|
 | 
						|
		[id(0x0001001C), nonbrowsable, helpstring("Gets the content of the body of the document (excluding headers/footers).")]
 | 
						|
		HRESULT GetDataObjectContent([in] VARIANT ClipFormatNameOrNumber, [out,retval] VARIANT *pvResults);
 | 
						|
		
 | 
						|
		[id(0x0001001D), nonbrowsable, helpstring("Sets the content of the body of the document.")]
 | 
						|
		HRESULT SetDataObjectContent([in] VARIANT ClipFormatNameOrNumber, [in] VARIANT DataByteArray);
 | 
						|
 | 
						|
		[propput, id(0x0001001E), helpstring("Allows host to set policy on activation behavior.")]
 | 
						|
		HRESULT ActivationPolicy([in] enum dsoActivationPolicy lPolicy);
 | 
						|
		[propget, id(0x0001001E)]
 | 
						|
		HRESULT ActivationPolicy([out,retval] enum dsoActivationPolicy *plPolicy);
 | 
						|
 | 
						|
		[propput, id(0x0001001F), helpstring("Allows host to set policy on use of the frame hook.")]
 | 
						|
		HRESULT FrameHookPolicy([in] enum dsoFrameHookPolicy lPolicy);
 | 
						|
		[propget, id(0x0001001F)]
 | 
						|
		HRESULT FrameHookPolicy([out,retval] enum dsoFrameHookPolicy *plPolicy);
 | 
						|
 | 
						|
		[propput, id(0x00010020), helpstring("Gets/sets whether control should try to handle menu accelerators or pass to host window.")]
 | 
						|
		HRESULT MenuAccelerators([in] VARIANT_BOOL vbool);
 | 
						|
		[propget, id(0x00010020)]
 | 
						|
		HRESULT MenuAccelerators([out,retval] VARIANT_BOOL* pvbool);
 | 
						|
 | 
						|
		[propput, nonbrowsable, id(0x00010021), helpstring("Gets/sets whether control events are raised.")]
 | 
						|
		HRESULT EventsEnabled([in] VARIANT_BOOL vbool);
 | 
						|
		[propget, nonbrowsable, id(0x00010021)]
 | 
						|
		HRESULT EventsEnabled([out,retval] VARIANT_BOOL* pvbool);
 | 
						|
 | 
						|
		[propget, id(0x00010022), helpstring("Returns just the document name (excluding path).")]
 | 
						|
		HRESULT DocumentName([out,retval] BSTR* pbstr);
 | 
						|
	};
 | 
						|
 | 
						|
	[
 | 
						|
		uuid(DSOFRAMERCTL_DISPEVTS), hidden
 | 
						|
	]
 | 
						|
	dispinterface _DFramerCtlEvents
 | 
						|
	{
 | 
						|
		properties:
 | 
						|
		methods:
 | 
						|
		[id(DSOF_DISPID_FILECMD), helpstring("Called when File menu item is selected by user (may be canceled).")]
 | 
						|
		HRESULT OnFileCommand([in] dsoFileCommandType Item, [in,out] VARIANT_BOOL* Cancel);
 | 
						|
 | 
						|
		[id(DSOF_DISPID_DOCOPEN), helpstring("Called when document is opened or new document added.")]
 | 
						|
		HRESULT OnDocumentOpened([in] BSTR File, [in] IDispatch* Document);
 | 
						|
 | 
						|
		[id(DSOF_DISPID_DOCCLOSE), helpstring("Called when document is closed.")]
 | 
						|
		HRESULT OnDocumentClosed();
 | 
						|
 | 
						|
		[id(DSOF_DISPID_ACTIVATE), helpstring("Called when component gains/loses activation.")]
 | 
						|
		HRESULT OnActivationChange([in] VARIANT_BOOL fGoingActive);
 | 
						|
 | 
						|
		[id(DSOF_DISPID_BDOCCLOSE), helpstring("Called before document is closed (may be canceled).")]
 | 
						|
		HRESULT BeforeDocumentClosed([in] IDispatch* Document, [in,out] VARIANT_BOOL* Cancel);
 | 
						|
 | 
						|
		[id(DSOF_DISPID_BDOCSAVE), helpstring("Called before document is saved (may be canceled).")]
 | 
						|
		HRESULT BeforeDocumentSaved([in] IDispatch* Document, [in] BSTR Location, [in,out] VARIANT_BOOL* Cancel);
 | 
						|
		
 | 
						|
		[id(DSOF_DISPID_ENDPREVIEW), helpstring("Called when print preview is closed.")]
 | 
						|
		HRESULT OnPrintPreviewExit();
 | 
						|
 | 
						|
		[id(DSOF_DISPID_SAVECOMPLETE), helpstring("Called when save is successful.")]
 | 
						|
		HRESULT OnSaveCompleted([in] IDispatch* Document, [in] BSTR DocName, [in] BSTR FullFileLocation);
 | 
						|
 | 
						|
	};
 | 
						|
 | 
						|
	[
 | 
						|
		uuid(DSOFRAMERCTL_CLSID),
 | 
						|
		helpstring(DSOFRAMERCTL_SHORTNAME), control
 | 
						|
	]
 | 
						|
	coclass FramerControl
 | 
						|
	{
 | 
						|
		[default] interface _FramerControl;
 | 
						|
		[default, source] dispinterface _DFramerCtlEvents;
 | 
						|
	};
 | 
						|
 | 
						|
 | 
						|
	typedef enum dsoFrameHookPolicy
 | 
						|
	{
 | 
						|
		dsoNormalBehavior = 0,
 | 
						|
		dsoSetOnFirstOpen,
 | 
						|
		dsoResetNow,
 | 
						|
		dsoDisableHook = 0xFFFFFFFF
 | 
						|
	} dsoFrameHookPolicy;
 | 
						|
 | 
						|
	typedef enum dsoActivationPolicy
 | 
						|
	{
 | 
						|
		dsoDefaultBehavior = 0,
 | 
						|
		dsoKeepUIActiveOnAppDeactive  = 0x01,
 | 
						|
		dsoCompDeactivateOnLostFocus  = 0x02,
 | 
						|
		dsoIPDeactivateOnCompDeactive = 0x04
 | 
						|
	} dsoActivationPolicy;
 | 
						|
 | 
						|
};
 | 
						|
 |