www.pudn.com > rs232_moni.rar > GuiControlBar.h
//-----------------------------------------------------------------------// // This is a part of the GuiLib MFC Extention. // // Autor : Francisco Campos // // (C) 2002 Francisco CamposAll rights reserved // // This code is provided "as is", with absolutely no warranty expressed // // or implied. Any use is at your own risk. // // You must obtain the author's consent before you can include this code // // in a software library. // // If the source code in this file is used in any application // // then acknowledgement must be made to the author of this program // // fco_campos@tutopia.com // //-----------------------------------------------------------------------// #pragma once #include "afxext.h" #include "afxPriv.h" #include "GuiLib.h" //#include "GuiToolButton.h" #define NORMAL 0 #define OVER 1 #define PRESS 2 #include "GuiDrawLayer.h" class GUILIBDLLEXPORT CGuiControlBar : public CControlBar { DECLARE_DYNAMIC(CGuiControlBar) protected: int nGapGripper; UINT nDockBarAling; CSize m_sizeMinFloating; CSize m_sizeHorz; CSize m_sizeVert; CSize m_sizeHorzt; CSize m_sizeVertt; CSize m_sizeMinV; CSize m_sizeMinH; int m_pos; int m_Last; int m_First; CRect m_rcBorder; CRect m_rcOldBorder; BOOL m_bTracking; UINT m_SideMove; //Que lado se arrastra CPoint m_ptOld; //la ultima posicion del mouse BOOL m_Initialize; // es cierto si no se ha inicializado esta ventana CPoint m_ptPos; CPoint m_ptStartPos; CPoint m_ptActualPos; UINT m_Orient; BOOL m_bForcepaint; CGuiControlBarButton m_CloseBtn; //arreglo de botones para control de la barra CRect m_rcCloseBtn; int m_stateBtn; COLORREF m_clrFondo; //para el color de fondo de la barra CImageList m_img; public: virtual void DrawGripper(CDC* pDC,CRect* rc); BOOL IsLegal(UINT uAlin); CGuiControlBar* GetGuiControlBar(int nPos,BOOL bAll=FALSE) const; void AjustReDinSize(CPoint cp); void OnActiveWindow(); void SetEqualWidth(); int GetHiWid(); int GetWidthMax(); int GetFirstPos(); int GetLastPos(); BOOL IsLeft(); BOOL IsRight(); BOOL IsTop(); BOOL IsBottom(); BOOL IsVert(); BOOL IsHorz(); BOOL IsFloating(); void OnInvertTracker(const CRect& rect); void RecalWindowPos(); void AjustVert(BOOL bGrow,int nDif); void AjustHorz(BOOL bGrow,int nDif); CRect GetDockRect(); void ActiveCaption(); void SetColorFondo(COLORREF clrFondo); void SaveBar(CString sProfile); void LoadStateBar(CString sProfile); //esta funcion permite soportar multiples vistas void SetSupporMultiView(BOOL bMultiView=TRUE){ m_bSupportMultiView=bMultiView;} BOOL m_bSupportMultiView; void SetMenuContext(UINT MnuContext) {m_MenuContext=MnuContext; }; protected: BOOL m_bActive; //esta ventana tiene el foco BOOL m_bOldActive; UINT m_MenuContext; public: CGuiControlBar(); virtual ~CGuiControlBar(); virtual void OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler); virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz); virtual CSize CalcDynamicLayout(int nLength, DWORD nMode); virtual BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,CWnd* pParentWnd, UINT nID); void OnShowTitle(); protected: DECLARE_MESSAGE_MAP() public: void SetSizes(int cx,int cy); afx_msg virtual int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void OnRButtonDown(UINT nFlags, CPoint point); afx_msg void OnLButtonUp(UINT nFlags, CPoint point); afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point); afx_msg void OnNcLButtonUp(UINT nHitTest, CPoint point); afx_msg void OnNcPaint(); afx_msg void OnNcCalcSize(BOOL, NCCALCSIZE_PARAMS*); afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos); afx_msg void OnPaint(); afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point); afx_msg void OnNcLButtonDblClk(UINT nFlags, CPoint point); afx_msg UINT OnNcHitTest(CPoint point); afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); afx_msg void OnMouseMove( UINT, CPoint ); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnNcMouseMove(UINT nHitTest, CPoint point); afx_msg void OnTimer(UINT nIDEvent); afx_msg void OnSysColorChange( ); afx_msg void OnNcRButtonDown(UINT nHitTest, CPoint point); };