|
|
#ifndef _MEDIAMENU_H_
#define _MEDIAMENU_H_
#include "cowsite.h"
class CMediaBand;
#define MEDIA_MRU_LIMIT 10
class CMediaMRU { public: CMediaMRU(); ~CMediaMRU(); VOID Load(PTSTR pszKey); VOID Add(PTSTR pszData); BOOL Get(INT iWhich, PTSTR pszOut); VOID Delete(INT iWhich);
private: HKEY _hkey; };
class CMediaWidget { public: CMediaWidget(HWND, int cx, int cy); ~CMediaWidget(); virtual LRESULT Draw(LPNMTBCUSTOMDRAW pnmc) = 0; virtual BOOL IsEnabled() = 0; virtual HRESULT TranslateAccelerator(LPMSG pMsg) = 0; //private:
HWND _hwnd, _hwndParent; INT _cx, _cy; };
enum { MWB_NORMAL = 0, MWB_DISABLED, MWB_HOT, MWB_PRESSED };
class CMediaWidgetButton : public CMediaWidget { public: CMediaWidgetButton(HWND, int, int); ~CMediaWidgetButton(); HRESULT SetImageList(INT iResource); HRESULT SetAlternateImageList(INT iResource); HRESULT SetImageSource(BOOL fImageSource); HRESULT SetMode(DWORD); virtual HRESULT Initialize(int idCommand, int idTooltip=0, int idTooltipAlt=0); LRESULT Draw(LPNMTBCUSTOMDRAW pnmc); BOOL IsEnabled(); HRESULT TranslateAccelerator(LPMSG pMsg);
//private:
HIMAGELIST _himl, _himlAlt; INT _iTooltip, _iTooltipAlt, _iCommand; BOOL _fImageSource; DWORD _dwMode; };
CMediaWidgetButton * CMediaWidgetButton_CreateInstance(HWND hwnd, int cx, int cy, int idCommand, int idImageList, int idAlt=0, int idTooltip=0, int idTooltipAlt=0);
class CMediaWidgetToggle : public CMediaWidgetButton { public: CMediaWidgetToggle(HWND, int, int); LRESULT Draw(LPNMTBCUSTOMDRAW pnmc); VOID SetState(BOOL fState); BOOL IsEnabled() { return TRUE; };
BOOL _fState; };
class CMediaWidgetOptions : public CMediaWidgetButton { public: CMediaWidgetOptions(HWND, int, int); LRESULT Draw(LPNMTBCUSTOMDRAW pnmc); BOOL IsEnabled() { return TRUE; } HRESULT Initialize(int idCommand, int idTooltip=0, int idTooltipAlt=0); VOID SetDepth(BOOL fDepth) { _fDepth = fDepth; };
BOOL _fDepth; };
class CMediaWidgetVolume : public CMediaWidget { public: CMediaWidgetVolume() : CMediaWidget(NULL, 0, 0) {}; LRESULT Draw(LPNMTBCUSTOMDRAW pnmc) { return CDRF_DODEFAULT; }; BOOL IsEnabled() { return TRUE; }; HRESULT TranslateAccelerator(LPMSG pMsg); HRESULT Initialize(HWND hwnd); };
class CMediaWidgetSeek : public CMediaWidget { public: CMediaWidgetSeek() : CMediaWidget(NULL, 0, 0) { _fState = FALSE; }; LRESULT Draw(LPNMTBCUSTOMDRAW pnmc) { return CDRF_DODEFAULT; }; BOOL IsEnabled() { return _fState; }; HRESULT TranslateAccelerator(LPMSG pMsg); HRESULT Initialize(HWND hwnd); VOID SetState(BOOL fState);
BOOL _fState; };
#define crMask RGB(255, 0, 255)
#define COLOR_BKGND RGB(71, 80, 158)
#define COLOR_BKGND2 RGB(92, 118, 186)
#endif
|