PropPageFrameDefault.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:3k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /********************************************************************
  2. *
  3. * Copyright (c) 2002 Sven Wiegand <mail@sven-wiegand.de>
  4. *
  5. * You can use this and modify this in any way you want,
  6. * BUT LEAVE THIS HEADER INTACT.
  7. *
  8. * Redistribution is appreciated.
  9. *
  10. * $Workfile:$
  11. * $Revision: 1.2 $
  12. * $Modtime:$
  13. * $Author: gabest $
  14. *
  15. * Revision History:
  16. * $History:$
  17. *
  18. *********************************************************************/
  19. #if !defined(AFX_PROPPAGEFRAMEDEFAULT_H__5C5B7AC9_2DF5_4E8C_8F5E_DE2CC04BBED7__INCLUDED_)
  20. #define AFX_PROPPAGEFRAMEDEFAULT_H__5C5B7AC9_2DF5_4E8C_8F5E_DE2CC04BBED7__INCLUDED_
  21. #if _MSC_VER > 1000
  22. #pragma once
  23. #endif // _MSC_VER > 1000
  24. #include "PropPageFrame.h"
  25. #include <afxcmn.h>
  26. namespace TreePropSheet
  27. {
  28. /**
  29. An implementation of CPropPageFrame, that works well for Windows XP
  30. styled systems and older windows versions (without themes).
  31. @author Sven Wiegand
  32. */
  33. class /*AFX_EXT_CLASS*/ CPropPageFrameDefault : public CWnd,
  34.                                             public CPropPageFrame
  35. {
  36. // construction/destruction
  37. public:
  38. CPropPageFrameDefault();
  39. virtual ~CPropPageFrameDefault();
  40. // operations
  41. public:
  42. // overridings
  43. public:
  44. virtual BOOL Create(DWORD dwWindowStyle, const RECT &rect, CWnd *pwndParent, UINT nID);
  45. virtual CWnd* GetWnd();
  46. virtual void SetCaption(LPCTSTR lpszCaption, HICON hIcon = NULL);
  47. protected:
  48. virtual CRect CalcMsgArea();
  49. virtual CRect CalcCaptionArea();
  50. virtual void DrawCaption(CDC *pDc, CRect rect, LPCTSTR lpszCaption, HICON hIcon);
  51. // Implementation helpers
  52. protected:
  53. /**
  54. Fills a rectangular area with a gradient color starting at the left
  55. side with the color clrLeft and ending at the right sight with the
  56. color clrRight.
  57. @param pDc
  58. Device context to draw the rectangle in.
  59. @param rect
  60. Rectangular area to fill.
  61. @param clrLeft
  62. Color on the left side.
  63. @param clrRight
  64. Color on the right side.
  65. */
  66. void FillGradientRectH(CDC *pDc, const RECT &rect, COLORREF clrLeft, COLORREF clrRight);
  67. /**
  68. Returns TRUE if Windows XP theme support is available, FALSE 
  69. otherwise.
  70. */
  71. BOOL ThemeSupport() const;
  72. protected:
  73. //{{AFX_VIRTUAL(CPropPageFrameDefault)
  74. //}}AFX_VIRTUAL
  75. // message handlers
  76. protected:
  77. //{{AFX_MSG(CPropPageFrameDefault)
  78. afx_msg void OnPaint();
  79. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  80. //}}AFX_MSG
  81. DECLARE_MESSAGE_MAP()
  82. // attributes
  83. protected:
  84. /** 
  85. Image list that contains only the current icon or nothing if there
  86. is no icon.
  87. */
  88. CImageList m_Images;
  89. };
  90. } //namespace TreePropSheet
  91. /////////////////////////////////////////////////////////////////////////////
  92. //{{AFX_INSERT_LOCATION}}
  93. // Microsoft Visual C++ f黦t unmittelbar vor der vorhergehenden Zeile zus鋞zliche Deklarationen ein.
  94. #endif // AFX_PROPPAGEFRAMEDEFAULT_H__5C5B7AC9_2DF5_4E8C_8F5E_DE2CC04BBED7__INCLUDED_