aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/General/gen_ml/skinnedcombo.h
blob: 37dfcda0be3f2c343741c29d44bcd189d6566f02 (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_COMBOBOX_HEADER
#define NULLOSFT_MEDIALIBRARY_SKINNED_COMBOBOX_HEADER

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

#include "./skinnedwnd.h"


class SkinnedCombobox : public SkinnedWnd
{

protected:
	SkinnedCombobox(void);
	virtual ~SkinnedCombobox(void);
public:
	virtual BOOL SetStyle(UINT newStyle, BOOL bRedraw);

protected:
	virtual BOOL Attach(HWND hwndCombo);
	virtual LRESULT WindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam); // treat this as dialog proc
	virtual void OnPaint(void);
	BOOL IsButtonDown(DWORD windowStyle);
	virtual void OnSkinUpdated(BOOL bNotifyChildren, BOOL bRedraw);
	virtual INT OnNcHitTest(POINTS pts);
	virtual void OnMouseLeave(void);
	
public:
	static void DrawButton(HDC hdc, RECT *prcButton, BOOL bPressed, BOOL bActive);

private:
	LRESULT SilenceMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
	friend BOOL SkinWindowEx(HWND hwndToSkin, INT type, UINT style);


protected:
	BOOL activeBorder;

};

#endif // NULLOSFT_MEDIALIBRARY_SKINNED_COMBOBOX_HEADER