XTPSkinObjectButton.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:4k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // XTPSkinObjectButton.h: interface for the CXTPSkinObjectButton class.
  2. //
  3. // This file is a part of the XTREME SKINFRAMEWORK MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. //{{AFX_CODEJOCK_PRIVATE
  21. #if !defined(_XTPSKINOBJECTBUTTON_H__)
  22. #define _XTPSKINOBJECTBUTTON_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. #include "XTPSkinObjectFrame.h"
  28. //===========================================================================
  29. // Summary:
  30. //     CXTPSkinObjectButton is a CXTPSkinObjectFrame derived class.
  31. //     It implements standard buttons
  32. //===========================================================================
  33. class _XTP_EXT_CLASS CXTPSkinObjectButton: public CXTPSkinObjectFrame
  34. {
  35. DECLARE_DYNCREATE(CXTPSkinObjectButton)
  36. public:
  37. //-----------------------------------------------------------------------
  38. // Summary:
  39. //     Constructs a CXTPSkinObjectButton object.
  40. //-----------------------------------------------------------------------
  41. CXTPSkinObjectButton();
  42. //-----------------------------------------------------------------------
  43. // Summary:
  44. //     Destroys a CXTPSkinObjectButton object, handles cleanup and deallocation.
  45. //-----------------------------------------------------------------------
  46. virtual ~CXTPSkinObjectButton();
  47. protected:
  48. //{{AFX_CODEJOCK_PRIVATE
  49. BOOL OnHookMessage(UINT nMessage, WPARAM& wParam, LPARAM& lParam, LRESULT& lResult);
  50. void OnSkinChanged(BOOL bPrevState, BOOL bNewState);
  51. BOOL OnHookDefWindowProc(UINT nMessage, WPARAM& wParam, LPARAM& lParam, LRESULT& lResult);
  52. BOOL IsDefWindowProcAvail(int nMessage) const;
  53. protected:
  54. virtual void OnDraw(CDC* pDC, CRect rc);
  55. BOOL IsPushButton();
  56. DWORD GetAlignment();
  57. void CalcRect(CDC* pDC, LPRECT lprc, int code);
  58. void ButtonDrawCheck(CDC* pDC);
  59. CSize GetGlyphSize(BOOL bCheckBox);
  60. void DrawButtonText(CDC* pDC);
  61. BYTE GetButtonStyle();
  62. void OnDraw(CDC* pDC);
  63. protected:
  64. DECLARE_MESSAGE_MAP()
  65. //{{AFX_VIRTUAL(CXTPSkinObjectButton)
  66. //}}AFX_VIRTUAL
  67. //{{AFX_MSG(CXTPSkinObjectButton)
  68. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  69. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  70. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  71. afx_msg void OnSetFocus(CWnd* pOldWnd);
  72. afx_msg void OnKillFocus(CWnd* pNewWnd);
  73. afx_msg void OnPaint();
  74. afx_msg LRESULT OnSetState(WPARAM wParam, LPARAM lParam);
  75. afx_msg LRESULT OnSetText(WPARAM wParam, LPARAM lParam);
  76. afx_msg void OnMouseLeave();
  77. afx_msg void OnInvalidate();
  78. afx_msg void OnDefaultAndInvalidate();
  79. afx_msg LRESULT OnUpdateUIState(WPARAM wParam, LPARAM lParam);
  80. afx_msg LRESULT OnPrintClient(WPARAM wParam, LPARAM lParam);
  81. //}}AFX_MSG
  82. //}}AFX_CODEJOCK_PRIVATE
  83. public:
  84. BYTE m_bStyle;          // Custom style of button
  85. protected:
  86. BOOL m_bHot;            // TRUE if mouse under button
  87. BOOL m_bPushed;         // TRUE if button was pressed
  88. };
  89. #endif // !defined(_XTPSKINOBJECTBUTTON_H__)