sizecbar.h
上传用户:netltd
上传日期:2013-02-12
资源大小:7234k
文件大小:3k
源码类别:

绘图程序

开发平台:

Visual C++

  1. /////////////////////////////////////////////////////////////////////////
  2. // Copyright (C) 1998 by Cristi Posea
  3. // All rights reserved
  4. /////////////////////////////////////////////////////////////////////////
  5. #if !defined(SIZECBAR_H_INCLUDED)
  6. #define SIZECBAR_H_INCLUDED
  7. #if _MSC_VER >= 1000
  8. #pragma once
  9. #endif // _MSC_VER >= 1000
  10. // sizecbar.h : header file
  11. //
  12. /////////////////////////////////////////////////////////////////////////
  13. // CSizingControlBar control bar
  14. class CSizingControlBar : public CControlBar
  15. {
  16. public:
  17.     CSizingControlBar();
  18. // Attributes
  19. public:
  20.     CSize m_sizeHorz;
  21.     CSize m_sizeVert;
  22.     CSize m_sizeFloat;
  23.     BOOL IsHorzDocked() const;
  24.     BOOL IsVertDocked() const;
  25. // Operations
  26. public:
  27. // Overrides
  28. public:
  29.     // ClassWizard generated virtual function overrides
  30.     //{{AFX_VIRTUAL(CSizingControlBar)
  31. public:
  32.     virtual BOOL Create(LPCTSTR lpszWindowName, CWnd* pParentWnd, CSize sizeDefault, BOOL bHasGripper, UINT nID, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP);
  33.     virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz);
  34.     virtual CSize CalcDynamicLayout(int nLength, DWORD dwMode);
  35. //}}AFX_VIRTUAL
  36. // Implementation
  37. public:
  38.     virtual ~CSizingControlBar();
  39.     
  40. protected:
  41.     // implementation helpers
  42.     void StartTracking();
  43.     void StopTracking(BOOL bAccept);
  44. void OnTrackUpdateSize(CPoint& point);
  45.     void OnTrackInvertTracker();
  46. virtual CSize CalcMaxSize();
  47. virtual BOOL QueryDragFullWindows() const;
  48. protected:
  49. // used for resizing
  50.     CSize m_sizeMin;
  51.     CSize   m_sizeMax;
  52. CPoint m_ptOld;
  53.     CRect   m_rectBorder;
  54.     BOOL    m_bTracking;
  55. BOOL m_bDragShowContent;
  56. CSize m_sizeOld;
  57.     BOOL    m_bInRecalcNC;
  58.     UINT    m_nDockBarID;
  59.     int     m_cxEdge;
  60.     BOOL    m_bHasGripper;
  61.     int     m_cyGripper;
  62.     CRect   m_rectGripper;
  63. // Generated message map functions
  64. protected:
  65.     //{{AFX_MSG(CSizingControlBar)
  66.     afx_msg void OnPaint();
  67.     afx_msg void OnNcPaint();
  68.     afx_msg void OnWindowPosChanged(WINDOWPOS FAR* lpwndpos);
  69.     afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp);
  70.     afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  71.     afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  72.     afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point);
  73.     afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  74.     afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
  75. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  76.     afx_msg void OnCaptureChanged(CWnd *pWnd);
  77.     afx_msg UINT OnNcHitTest(CPoint point);
  78.     afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  79. //}}AFX_MSG
  80.     DECLARE_MESSAGE_MAP()
  81. };
  82. /////////////////////////////////////////////////////////////////////////
  83. //{{AFX_INSERT_LOCATION}}
  84. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  85. #endif // !defined(SIZECBAR_H_INCLUDED)