ExtSpinWnd.h
上传用户:sesekoo
上传日期:2020-07-18
资源大小:21543k
文件大小:4k
源码类别:

界面编程

开发平台:

Visual C++

  1. // This is part of the Professional User Interface Suite library.
  2. // Copyright (C) 2001-2009 FOSS Software, Inc.
  3. // All rights reserved.
  4. //
  5. // http://www.prof-uis.com
  6. // mailto:support@prof-uis.com
  7. //
  8. // This source code can be used, modified and redistributed
  9. // under the terms of the license agreement that is included
  10. // in the Professional User Interface Suite package.
  11. //
  12. // Warranties and Disclaimers:
  13. // THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND
  14. // INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY,
  15. // FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
  16. // IN NO EVENT WILL FOSS SOFTWARE INC. BE LIABLE FOR ANY DIRECT,
  17. // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES,
  18. // INCLUDING DAMAGES FOR LOSS OF PROFITS, LOSS OR INACCURACY OF DATA,
  19. // INCURRED BY ANY PERSON FROM SUCH PERSON'S USAGE OF THIS SOFTWARE
  20. // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  21. #if (!defined __EXT_SPIN_H)
  22. #define __EXT_SPIN_H
  23. #if (!defined __EXT_MFC_NO_SPIN)
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. #if (!defined __EXT_MFC_DEF_H)
  28. #include <ExtMfcDef.h>
  29. #endif // __EXT_MFC_DEF_H
  30. #if (!defined __EXT_CONTROLBAR_H)
  31. #include <ExtControlBar.h>
  32. #endif
  33. /////////////////////////////////////////////////////////////////////////////
  34. // CExtSpinWnd window
  35. class __PROF_UIS_API CExtSpinWnd 
  36. : public CSpinButtonCtrl
  37. , public CExtAnimationSingleton
  38. {
  39. // Construction
  40. public:
  41. DECLARE_DYNCREATE( CExtSpinWnd );
  42. CExtSpinWnd();
  43. // Attributes
  44. public:
  45. // Operations
  46. public:
  47. void SetBkColor( COLORREF clrBk );
  48. COLORREF GetBkColor() const;
  49. bool GetButtonRect( 
  50. CRect & rcButtonUp,
  51. CRect & rcButtonDown,
  52. const CRect * prcClient = NULL
  53. );
  54. public:
  55. virtual void PmBridge_OnPaintManagerChanged(
  56. CExtPaintManager * pGlobalPM
  57. );
  58. virtual HWND AnimationSite_GetSafeHWND() const;
  59. virtual const CExtAnimationParameters *
  60. AnimationClient_OnQueryAnimationParameters(
  61. INT eAPT // __EAPT_*** animation type
  62. ) const;
  63. virtual bool AnimationClient_CacheNextState(
  64. CDC & dc,
  65. const RECT & rcAcAnimationTarget,
  66. bool bAnimate,
  67. INT eAPT // __EAPT_*** animation type
  68. );
  69. // Overrides
  70. // ClassWizard generated virtual function overrides
  71. //{{AFX_VIRTUAL(CExtSpinWnd)
  72. protected:
  73. virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
  74. virtual void PreSubclassWindow();
  75. //}}AFX_VIRTUAL
  76. // Implementation
  77. public:
  78. virtual ~CExtSpinWnd();
  79. virtual void OnSpinDrawEntire(
  80. CDC & dc,
  81. const CRect & rcClient
  82. );
  83. virtual void OnSpinEraseClientArea(
  84. CDC & dc,
  85. const CRect & rcClient
  86. );
  87. protected:
  88. bool m_bCanceling:1;
  89. bool m_bButtonUpHovered:1;
  90. bool m_bButtonDownHovered:1;
  91. bool m_bButtonUpPressed:1;
  92. bool m_bButtonDownPressed:1;
  93. COLORREF m_clrBackground;
  94.     bool m_bNcCalcSize:1;
  95. bool _IsBuddyToEdit();
  96. bool _IsEnabled();
  97. bool _IsReadOnly();
  98. virtual COLORREF OnQueryBkColor() const;
  99. virtual bool _ProcessMouseMove( 
  100. CPoint point 
  101. );
  102. virtual bool _ProcessMouseClick(
  103. CPoint point,
  104. bool bButtonPressed,
  105. INT nMouseButton // MK_... values
  106. );
  107. // Generated message map functions
  108. protected:
  109. //{{AFX_MSG(CExtSpinWnd)
  110. afx_msg void OnPaint();
  111. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  112. afx_msg void OnCancelMode();
  113. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  114. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  115. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  116. afx_msg void OnCaptureChanged(CWnd *pWnd);
  117. afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp);
  118. afx_msg void OnNcPaint();
  119. afx_msg void OnSize(UINT nType, int cx, int cy);
  120. //}}AFX_MSG
  121. #if _MFC_VER < 0x700
  122. afx_msg void OnActivateApp(BOOL bActive, HTASK hTask);
  123. #else
  124. afx_msg void OnActivateApp(BOOL bActive, DWORD hTask);
  125. #endif
  126. DECLARE_MESSAGE_MAP()
  127. };
  128. /////////////////////////////////////////////////////////////////////////////
  129. //{{AFX_INSERT_LOCATION}}
  130. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  131. #endif // (!defined __EXT_MFC_NO_SPIN)
  132. #endif // (!defined __EXT_SPIN_H)