skinnedlistbox.h 951 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef NULLOSFT_MEDIALIBRARY_SKINNED_LISTBOX_HEADER
  2. #define NULLOSFT_MEDIALIBRARY_SKINNED_LISTBOX_HEADER
  3. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  4. #pragma once
  5. #endif
  6. #include "./skinnedscrollwnd.h"
  7. class SkinnedListbox : public SkinnedScrollWnd
  8. {
  9. protected:
  10. SkinnedListbox(void);
  11. virtual ~SkinnedListbox(void);
  12. protected:
  13. virtual BOOL Attach(HWND hwndListbox);
  14. virtual void OnDrawItem(DRAWITEMSTRUCT *pdis);
  15. virtual LRESULT WindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam);
  16. virtual void OnSkinUpdated(BOOL bNotifyChildren, BOOL bRedraw);
  17. virtual HPEN GetBorderPen(void);
  18. virtual void OnPrint(HDC hdc, UINT options);
  19. public:
  20. static void DrawItem(DRAWITEMSTRUCT *pdis, LPCWSTR pszText, INT cchText);
  21. static void MeasureItem(HWND hwnd, LPCWSTR pszText, INT cchText, UINT *pWidth, UINT *pHeight);
  22. private:
  23. friend BOOL SkinWindowEx(HWND hwndToSkin, INT type, UINT style);
  24. };
  25. #endif // NULLOSFT_MEDIALIBRARY_SKINNED_LISTBOX_HEADER