// XTDialogBar.h interface for the CXTDialogBar class. // // This file is a part of the Xtreme Toolkit for MFC. // ©1998-2003 Codejock Software, All Rights Reserved. // // This source code can only be used under the terms and conditions // outlined in the accompanying license agreement. // // support@codejock.com // http://www.codejock.com // ////////////////////////////////////////////////////////////////////// #if !defined(__XTDIALOGBAR_H__) #define __XTDIALOGBAR_H__ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 ////////////////////////////////////////////////////////////////////// // Summary: The CXTDialogBar class provides the functionality of a Windows modeless // dialog box in a control bar. A dialog bar resembles a dialog box in // that it contains standard Windows controls that the user can tab between. // Another similarity is that you create a dialog template to represent // the dialog bar. // // Creating and using a dialog bar is similar to creating and using a CFormView // object. First, use the dialog editor (described in the MSDN Visual C++ // User's Guide) to define a dialog template with the style WS_CHILD and // no other style. The template must not have the style WS_VISIBLE. In // your application code, call the constructor to construct the CXTDialogBar // object, then call Create to create the dialog bar window and attach // it to the CXTDialogBar object. class _XT_EXT_CLASS CXTDialogBar : public CXTControlBar { DECLARE_DYNAMIC(CXTDialogBar) public: // Summary: Constructs a CXTDialogBar object. CXTDialogBar(); // Summary: Destroys a CXTDialogBar object, handles cleanup and de-allocation. virtual ~CXTDialogBar(); protected: CWnd* m_pParentWnd; // Points to the parent window. CSize m_sizeDefault; // Default size of the dialog bar. public: // BULLETED LIST: // Input: pParentWnd - A pointer to the parent CWnd object. // lpszTemplateName - A pointer to the name of the CXTDialogBar // object’s dialog box resource template. // nStyle - The alignment style of the dialog bar. The // following styles are supported: // [ul] // [li]CBRS_TOP Control bar is at the top of the frame // window.[/li] // [li]CBRS_BOTTOM Control bar is at the bottom of the // frame window.[/li] // [li]CBRS_NOALIGN Control bar is not repositioned when // the parent is resized.[/li] // [li]CBRS_LEFT Control bar is at the left of the frame // window.[/li] // [li]CBRS_RIGHT Control bar is at the right of the frame // window.[/li] // [/ul] // nID - The control ID of the dialog bar. // Returns: Nonzero if successful, otherwise returns zero. // Summary: This member function loads the dialog box resource template specified // by 'lpszTemplateName'. It creates the dialog bar window, sets // its style, and associates it with the CXTDialogBar object. // // If you specify the CBRS_TOP or CBRS_BOTTOM alignment style, the // dialog bar’s width is that of the frame window and its height is // that of the resource specified by 'lpszTemplateName'. If you specify the // CBRS_LEFT or CBRS_RIGHT alignment style, the dialog bar’s height is // that of the frame window and its width is that of the resource // specified by 'lpszTemplateName'. virtual BOOL Create(CWnd* pParentWnd,LPCTSTR lpszTemplateName,UINT nStyle = CBRS_ALIGN_TOP,UINT_PTR nID = AFX_IDW_DIALOGBAR); // BULLETED LIST: // Input: pParentWnd - A pointer to the parent CWnd object. // nIDTemplate - The resource ID of the CXTDialogBar object’s // dialog box template. // nStyle - The alignment style of the dialog bar. The // following styles are supported: // [ul] // [li]CBRS_TOP Control bar is at the top of the frame // window.[/li] // [li]CBRS_BOTTOM Control bar is at the bottom of the // frame window.[/li] // [li]CBRS_NOALIGN Control bar is not repositioned when // the parent is resized.[/li] // [li]CBRS_LEFT Control bar is at the left of the frame // window.[/li] // [li]CBRS_RIGHT Control bar is at the right of frame // window.[/li] // [/ul] // nID - The control ID of the dialog bar. // Returns: Nonzero if successful, otherwise returns zero. // Summary: This member function loads the dialog box resource template specified // by 'nIDTemplate'. It creates the dialog bar window, sets // its style, and associates it with the CXTDialogBar object. // // If you specify the CBRS_TOP or CBRS_BOTTOM alignment style, the // dialog bar’s width is that of the frame window and its height is // that of the resource specified by 'nIDTemplate'. If you specify the // CBRS_LEFT or CBRS_RIGHT alignment style, the dialog bar’s height is // that of the frame window and its width is that of the resource // specified by 'nIDTemplate'. virtual BOOL Create(CWnd* pParentWnd,UINT nIDTemplate,UINT nStyle = CBRS_ALIGN_TOP,UINT nID = AFX_IDW_DIALOGBAR); protected: // Ignore: //{{AFX_VIRTUAL(CXTDialogBar) virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz); virtual void OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler); //}}AFX_VIRTUAL #ifndef _AFX_NO_OCC_SUPPORT ////////////////////////////////////////////////////////////////////// // Data and functions necessary for OLE control containment ////////////////////////////////////////////////////////////////////// _AFX_OCC_DIALOG_INFO* m_pOccDialogInfo; LPCTSTR m_lpszTemplateName; virtual BOOL SetOccDialogInfo( _AFX_OCC_DIALOG_INFO* pOccDialogInfo); #endif //!_AFX_NO_OCC_SUPPORT // Ignore: //{{AFX_MSG(CXTDialogBar) #ifndef _AFX_NO_OCC_SUPPORT afx_msg LRESULT HandleInitDialog(WPARAM wParam, LPARAM lParam); #endif afx_msg BOOL OnEraseBkgnd(CDC* pDC); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ////////////////////////////////////////////////////////////////////// AFX_INLINE BOOL CXTDialogBar::Create(CWnd* pParentWnd, UINT nIDTemplate, UINT nStyle, UINT nID) { return Create(pParentWnd, MAKEINTRESOURCE(nIDTemplate), nStyle, nID); } ////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Developer Studio will insert additional declarations immediately before the previous line. #endif // #if !defined(__XTDIALOGBAR_H__)