ThemeUtil.h
上传用户:huashan618
上传日期:2013-03-26
资源大小:261k
文件大小:2k
源码类别:

浏览器

开发平台:

Visual C++

  1. #pragma once
  2. /**********************************************************************
  3. **
  4. ** ThemeUtil.h : include file
  5. **
  6. ** by Andrzej Markowski June 2004
  7. **
  8. **********************************************************************/
  9. #include "TmSchema.h"
  10. //#define WM_THEMECHANGED      0x031A
  11. #define THM_WM_THEMECHANGED     0x031A
  12. typedef struct _MY_MARGINS
  13. {
  14.     int cxLeftWidth;
  15.     int cxRightWidth;
  16.     int cyTopHeight;
  17.     int cyBottomHeight;
  18. } MY_MARGINS;
  19. class CThemeUtil
  20. {
  21. public:
  22. CThemeUtil();
  23. virtual ~CThemeUtil();
  24. BOOL OpenThemeData(HWND hWnd, LPCWSTR pszClassList);
  25. void CloseThemeData();
  26. BOOL DrawThemePart(HDC hdc, int iPartId, int iStateId, const RECT *pRect);
  27. BOOL GetThemeColor(int iPartId, int iStateId, int iPropId, const COLORREF *pColor);
  28. BOOL GetThemeInt(int iPartId, int iStateId, int iPropId, const int *piVal);
  29. BOOL GetThemeMargins(int iPartId, int iStateId, int iPropId, const MY_MARGINS *pMargins);
  30. BOOL GetThemeEnumValue(int iPartId, int iStateId, int iPropId, const int *piVal);
  31. BOOL GetThemeFilename(int iPartId, int iStateId, int iPropId, 
  32. OUT LPWSTR pszThemeFileName, int cchMaxBuffChars);
  33. BOOL GetCurrentThemeName(OUT LPWSTR pszThemeFileName, int cchMaxNameChars, 
  34. OUT OPTIONAL LPWSTR pszColorBuff, int cchMaxColorChars,
  35. OUT OPTIONAL LPWSTR pszSizeBuff, int cchMaxSizeChars);
  36. HBITMAP LoadBitmap(LPWSTR pszBitmapName);
  37. private:
  38. BOOL IsWinXP(void);
  39. void FreeLibrary();
  40. private:
  41. HINSTANCE m_hUxThemeDll;
  42. HINSTANCE m_hRcDll;
  43. int m_hTheme;
  44. //HANDLE m_hTheme;
  45. };