XPStyleButtonST.h
上传用户:dengkfang
上传日期:2008-12-30
资源大小:5233k
文件大小:2k
源码类别:

CA认证

开发平台:

Visual C++

  1. //
  2. // Class: CXPStyleButtonST
  3. //
  4. // Compiler: Visual C++
  5. // Tested on: Visual C++ 6.0
  6. //
  7. // Version: See GetVersionC() or GetVersionI()
  8. //
  9. // Created: 21/January/2002
  10. // Updated: 24/January/2003
  11. //
  12. // Author: Davide Calabro' davide_calabro@yahoo.com
  13. // http://www.softechsoftware.it
  14. //
  15. // Disclaimer
  16. // ----------
  17. // THIS SOFTWARE AND THE ACCOMPANYING FILES ARE DISTRIBUTED "AS IS" AND WITHOUT
  18. // ANY WARRANTIES WHETHER EXPRESSED OR IMPLIED. NO REPONSIBILITIES FOR POSSIBLE
  19. // DAMAGES OR EVEN FUNCTIONALITY CAN BE TAKEN. THE USER MUST ASSUME THE ENTIRE
  20. // RISK OF USING THIS SOFTWARE.
  21. //
  22. // Terms of use
  23. // ------------
  24. // THIS SOFTWARE IS FREE FOR PERSONAL USE OR FREEWARE APPLICATIONS.
  25. // IF YOU USE THIS SOFTWARE IN COMMERCIAL OR SHAREWARE APPLICATIONS YOU
  26. // ARE GENTLY ASKED TO DONATE 5$ (FIVE U.S. DOLLARS) TO THE AUTHOR:
  27. //
  28. // Davide Calabro'
  29. // P.O. Box 65
  30. // 21019 Somma Lombardo (VA)
  31. // Italy
  32. //
  33. #ifndef _XPSTYLEBTNST_H
  34. #define _XPSTYLEBTNST_H
  35. #if _MSC_VER > 1000
  36. #pragma once
  37. #endif // _MSC_VER > 1000
  38. #include "BtnST.h"
  39. #include "ThemeHelperST.h"
  40. class CXPStyleButtonST  : public CButtonST
  41. {
  42. public:
  43. CXPStyleButtonST();
  44. virtual ~CXPStyleButtonST();
  45. DECLARE_DYNCREATE(CXPStyleButtonST)
  46. void SetThemeHelper(CThemeHelperST* pTheme);
  47. DWORD DrawAsToolbar(BOOL bDrawAsToolbar, BOOL bRepaint = TRUE);
  48. static short GetVersionI() {return 12;}
  49. static LPCTSTR GetVersionC() {return (LPCTSTR)_T("1.2");}
  50. static void SetAllThemeHelper(CWnd * pWnd, CThemeHelperST* pTheme)
  51. {
  52. CWnd * pChild = pWnd->GetWindow( GW_CHILD );
  53. while ( pChild != NULL )
  54. {
  55. if ( pChild->IsKindOf( RUNTIME_CLASS(CXPStyleButtonST)))
  56. ((CXPStyleButtonST *) pChild)->SetThemeHelper( pTheme );
  57. pChild = pChild->GetWindow( GW_HWNDNEXT );
  58. }
  59. }
  60. protected:
  61. virtual DWORD OnDrawBackground(CDC* pDC, CRect* pRect);
  62. virtual DWORD OnDrawBorder(CDC* pDC, CRect* pRect);
  63. private:
  64. CThemeHelperST* m_pTheme;
  65. BOOL m_bDrawAsToolbar; // Use flat toolbar-style ?
  66. };
  67. #endif