aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/General/gen_ml/skinnedmenu.h
blob: cc2cac78e2037bdd0c714ba8c29c1f7793405ec9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef NULLOSFT_MEDIALIBRARY_SKINNED_MENU_HEADER
#define NULLOSFT_MEDIALIBRARY_SKINNED_MENU_HEADER

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

#include <wtypes.h>
#include "./skinnedmenuthreadinfo.h"

class SkinnedMenu
{
public:
	SkinnedMenu();
	virtual ~SkinnedMenu(void);

public:
	static HWND WindowFromHandle(HMENU menu);

public:
	virtual BOOL InitializeHook(HWND hwndOwner, UINT skinStyle, HMLIMGLST hmlil, INT width, MENUCUSTOMIZEPROC customProc, ULONG_PTR customParam);
	virtual BOOL TrackMenuPopupEx(HMENU hmenu, UINT fuFlags, INT x, INT y, HWND hwnd, LPTPMPARAMS lptpm, UINT skinStyle,
					HMLIMGLST hmlil, INT width, MENUCUSTOMIZEPROC customProc, ULONG_PTR customParam);

protected:
	virtual BOOL AttachToHwnd(HWND hwndMenu);

protected:
	friend class SkinnedMenuThreadInfo;

protected:
	HWND		hwndOwner;
	UINT		skinStyle;
	HMLIMGLST	hmlil;
	INT			width;
	MENUCUSTOMIZEPROC customProc;
	ULONG_PTR customParam;
	SkinnedMenuThreadInfo *threadInfo;
};


#endif // NULLOSFT_MEDIALIBRARY_SKINNED_MENU_HEADER