ActiveX Document
ActiveX Document (also known as DocObject or DocObj[1]) is a Microsoft technology that allows users to view and edit Microsoft Word, Excel, and PDF documents inside web browsers.[2] It defines a set of Component Object Model coding contracts between hosting programs like Internet Explorer or Microsoft Office Binder[3] and hosted documents from programs like Microsoft Word, Microsoft Excel and Adobe Reader. This allows them to negotiate communications about commands like save and navigate, as well as merging user interface elements such as menu,[4] to provide a unified user experience.
Initially designed for compound documents based on COM Structured Storage, the technology allows one single hosting program like Office Binder to contain unlimited type of documents.[3] The server program that provides an ActiveX document can be an EXE or a DLL server.
Code contracts
There are a few code contracts that ActiveX documents and their container need to implement in order to communicate about their capabilities and requirements.
An ActiveX document server application needs to implement the following code contracts that are expected by an ActiveX document container that is going to host the document:[5]
- IPersistStorage, if use compound files as the storage
- Standard OLE interfaces like IPersistFile, IOleObject, and IDataObject, for creating a document that supports object linking and embedding from file
- IOleInPlaceObject and IOleInPlaceActiveObject, for editing inline
- IOleDocument, IOleCommandTarget, and IPrint, for talking to document container, command routing, and printing
An ActiveX document container application needs to implement the following code contracts[6]
- Provide storage for documents via IStorage
- Implement IOleClientSite and IAdviseSink, for standard object linking and embedding
- Implement IOleInPlaceSite and IOleInPlaceFrame, for editing inline
- Implement IOleDocumentSite, IOleCommandTarget, IPrint and IContinueCallback, for document hosting, command routing and printing
Developer Support
Microsoft has ActiveX Document support in its developer tools to help programmers in creating ActiveX Document applications.
In Visual C++, programmers can include Microsoft Foundation Classes's support for ActiveX Documents in the MFC project wizard. A programmer can choose to add ActiveX document server and/or container support to the new program by checking a checkbox during the project creation process.[7]
In Visual Basic, ActiveX Document Migration wizard helps programmers to convert VB forms into ActiveX documents.[8]
In Visual FoxPro, The ActiveDoc Base Class supports development for ActiveX document servers.[9]
References
- ^ Definition of ActiveX Documents
- ^ Microsoft readies DocObject; technology will allow document editing in Web browsers, InfoWorld, April 29, 1996, page 49
- ^ a b Microsoft promises compound documents. (Win95 Suites Set to Clash) by Greenberg, Ilan, InfoWorld June 5, 1995 http://www.accessmylibrary.com/article-1G1-17053478/microsoft-promises-compound-documents.html
- ^ Menus in Active Documents, Visual FoxPro 7.0 documentation, by Microsoft https://msdn.microsoft.com/en-us/library/aa903362(v=VS.71).aspx
- ^ The Visual Programmer Puts ActiveX Document Objects Through Their Paces, by Joshua Trupin, Microsoft Systems Journal, June 1996, http://www.microsoft.com/msj/archive/S37B.aspx
- ^ Active Document Containers, Visual Studio 2012 documentation, by Microsoft, https://msdn.microsoft.com/en-us/library/644x1yy6.aspx
- ^ Compound Document Support, MFC Application Wizard, Visual Studio 2012 documentation, by Microsoft, https://msdn.microsoft.com/en-us/library/fa2f8zdk.aspx
- ^ You can't go there today. (ActiveX application development; Microsoft's Visual Basic 5.0 and Visual C++ 5.0, Borland's Delphi 3.0) by Blumenthal, Holly, InfoWorld | May 19, 1997 http://www.accessmylibrary.com/article-1G1-19431766/you-cant-go-there.html
- ^ Creating an Active Document, Visual Studio 7.0 documentation, by Microsoft https://msdn.microsoft.com/en-us/library/aa903396(v=vs.71).aspx
- v
- t
- e
- APIs
- Architecture
- Booting process
- Games
tools
- App Installer
- Command Prompt
- Control Panel
- Device Manager
- Disk Cleanup
- Drive Optimizer
- Driver Verifier
- DirectX Diagnostic Tool
- Event Viewer
- IExpress
- Management Console
- Netsh
- Performance Monitor
- Recovery Console
- Resource Monitor
- Settings
- Sysprep
- System Configuration
- System File Checker
- System Information
- System Policy Editor
- System Restore
- Task Manager
- Windows Error Reporting
- Windows Ink
- Windows Installer
- PowerShell
- Windows Update
- WinRE
- WMI
- 3D Viewer
- Calculator
- Calendar
- Camera
- Character Map
- Clipchamp
- Clock
- Cortana
- Edge
- Fax and Scan
- Feedback Hub
- Get Help
- Magnifier
- Maps
- Messaging
- Media Player
- 2022
- Movies & TV
- Mobility Center
- Money
- Narrator
- Notepad
- OneDrive
- OneNote
- Paint
- Paint 3D
- People
- Phone Link
- Photos
- Quick Assist
- Remote Desktop Connection
- Snipping Tool
- Speech Recognition
- Skype
- Sports
- Start
- Sticky Notes
- Store
- Tips
- Voice Recorder
- Weather
- WordPad
- Xbox
- Active Directory
- Domains
- DNS
- Group Policy
- Roaming user profiles
- Folder redirection
- Distributed Transaction Coordinator
- MSMQ
- Windows Media Services
- Active DRM Services
- IIS
- WSUS
- SharePoint
- Network Access Protection
- PWS
- DFS Replication
- Print Services for UNIX
- Remote Desktop Services
- Remote Differential Compression
- Remote Installation Services
- Windows Deployment Services
- System Resource Manager
- Hyper-V
- Server Core
- Boot Manager
- Console
- CSRSS
- Desktop Window Manager
- Portable Executable
- Enhanced Write Filter
- Graphics Device Interface
- Hardware Abstraction Layer
- I/O request packet
- Imaging Format
- Kernel Transaction Manager
- Library files
- Logical Disk Manager
- LSASS
- MinWin
- NTLDR
- Ntoskrnl.exe
- Object Manager
- Open XML Paper Specification
- Registry
- Resource Protection
- Security Account Manager
- Server Message Block
- Shadow Copy
- SMSS
- System Idle Process
- USER
- WHEA
- Winlogon
- WinUSB
- Solitaire Collection
- Surf
Microsoft Store
- DVD Player
- File Manager
- Hover!
- Mahjong
- Minesweeper
- Category
- List