skinnedmenu.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef NULLOSFT_MEDIALIBRARY_SKINNED_MENU_HEADER
  2. #define NULLOSFT_MEDIALIBRARY_SKINNED_MENU_HEADER
  3. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  4. #pragma once
  5. #endif
  6. #include <wtypes.h>
  7. #include "./skinnedmenuthreadinfo.h"
  8. class SkinnedMenu
  9. {
  10. public:
  11. SkinnedMenu();
  12. virtual ~SkinnedMenu(void);
  13. public:
  14. static HWND WindowFromHandle(HMENU menu);
  15. public:
  16. virtual BOOL InitializeHook(HWND hwndOwner, UINT skinStyle, HMLIMGLST hmlil, INT width, MENUCUSTOMIZEPROC customProc, ULONG_PTR customParam);
  17. virtual BOOL TrackMenuPopupEx(HMENU hmenu, UINT fuFlags, INT x, INT y, HWND hwnd, LPTPMPARAMS lptpm, UINT skinStyle,
  18. HMLIMGLST hmlil, INT width, MENUCUSTOMIZEPROC customProc, ULONG_PTR customParam);
  19. protected:
  20. virtual BOOL AttachToHwnd(HWND hwndMenu);
  21. protected:
  22. friend class SkinnedMenuThreadInfo;
  23. protected:
  24. HWND hwndOwner;
  25. UINT skinStyle;
  26. HMLIMGLST hmlil;
  27. INT width;
  28. MENUCUSTOMIZEPROC customProc;
  29. ULONG_PTR customParam;
  30. SkinnedMenuThreadInfo *threadInfo;
  31. };
  32. #endif // NULLOSFT_MEDIALIBRARY_SKINNED_MENU_HEADER