SECMultiDocTemplate Class

class SECMultiDocTemplate: public CMultiDocTemplate

MDI Document Template with Docking Views enablement

Defined in: sdocmult.h

Comments

This document template class must be used to utilized Stingray Docking Views

Class Members

Construction/Initialization

SECMultiDocTemplate(UINT nIDResource, CRuntimeClass* pDocClass, CRuntimeClass* pViewClass, DWORD dwScxFlags = -1)

Constructor

SECMultiDocTemplate(UINT nIDResource, CRuntimeClass* pDocClass,CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass,UINT nIDDockableResource = 0, CRuntimeClass* pDockableFrameClass = 0, CRuntimeClass* pControlBarClass = 0, DWORD dwScxFlags = -1)

Constructor

Operations

virtual CFrameWnd* CreateNewFrame(CDocument* pDoc, CFrameWnd* pOther, BOOL bInitiallyDocked, int nDockedViewBarID = 0)

Create a new frame window, with the option of initially docked

virtual CDocument* OpenDocumentFile( LPCTSTR lpszPathName, BOOL bMakeVisible = TRUE, BOOL bInitiallyDocked = FALSE, int nDockedViewBarID = 0)

Open a new document, with the option to create initially docked.

virtual CFrameWnd* ToggleDocking(CFrameWnd* pFrame)

Toggle the docking state of the frame window parameter

virtual SECDockableFrame* CreateNewDockableFrame(CDocument* pDoc, CFrameWnd* pOther,UINT nDockBarID = 0,const SECDockPos * pPos = 0, const SECDockSize * pSize = 0)

Create a dockable frame to wrap the docking view

virtual BOOL IsDocked(const CFrameWnd* pFrame) const

Check if frame is currently docked

virtual SECDockableState GetDockableState(const CFrameWnd* pFrame) const

Query current frame's docking state

virtual CFrameWnd* Dock(CFrameWnd* pFrameOld)

Dock a frame

virtual CFrameWnd* Dock(CFrameWnd* pFrameOld, UINT nDockBarID, const SECDockPos * pDockPos, const SECDockSize * pDockSize)

Dock a frame at a specific spot

virtual CFrameWnd* Undock(CFrameWnd* pFrameOld)

Undock a frame

virtual void ReparentAllChildren(CFrameWnd* pFrameOld, CFrameWnd* pFrameNew)

Reparent all children of the old frame to the new frame

virtual BOOL ActivateDockableFrame(CFrameWnd* pFrameNew)

Activate the dockable frame passed in

virtual void OnEnableSysCommandEx(CFrameWnd* pFrame, DWORD dwScxFlags)

Tailor WM_SYSCOMMANDEX commands of interest.

virtual void EnableCaptionButton(BOOL bEnable=TRUE, BOOL bUpdate=TRUE)

Adds/Removes the SCXOPT_NO_CAPTION_BUTTON flag

virtual void EnableRDblClick(BOOL bEnable=TRUE, BOOL bUpdate=TRUE)

Adds/Removes the SCXOPT_NO_HANDLE_RDBLCLK flag

virtual void EnableContextMenu(BOOL bEnable, BOOL bUpdate=TRUE)

Adds/Removes the SCXOPT_NO_CONTEXTMENU flag. The context menu is displayed by right clicking in the caption.

virtual BOOL IsCaptionButtonEnabled()

Returns TRUE if the SCXOPT_NO_CAPTION_BUTTON flag is NOT present

virtual BOOL IsRDblClickEnabled()

Returns TRUE if the SCXOPT_NO_HANDLE_RDBLCLK flag is NOT present

virtual BOOL IsContextMenuEnabled()

Returns TRUE if the SCXOPT_NO_CONTEXTMENU flag is NOT present

virtual void ModifyOptions(DWORD dwRemove, DWORD dwAdd, BOOL bUpdate=TRUE)

Adds and/or removes SCXOPT flags from the template

virtual void UpdateAllFrames()

Updates the SCXOPT flags for every frame window created using this doc template

virtual ISECVwDockFeedBack* GetFeedbackInterface(CView* pView)

Return the docking feedback reciever interface. This can be NULL. Default does a dynamic_cast on CView* to get interface.

void EnableReflection()

When CCtrlView derived classes are used call this method to enable notification messages to work.

DWORD m_dwScxFlags

SCX flags passed to OnEnableSysCommandEx() for a new mdi child; default is SCXOPT_ENABLED | SCXOPT_NO_CAPTION_BUTTON

DWORD m_dwDockableScxFlags

SCX flags passed to OnEnableSysCommandEx() for a new dockable frame; default is SCXOPT_ENABLED | SCXOPT_NO_CAPTION_BUTTON