//--------------------------------------------------------------------------- #ifndef SkinListBoxUnitH #define SkinListBoxUnitH #include "SkinScrollBarUnit.h" //--------------------------------------------------------------------------- class TSkinListBox : public Stdctrls::TListBox { private: TSkinScrollBar *m_pSBVert; bool m_bSBAction; protected: HWND GetSBHandle(){ return m_pSBVert ? m_pSBVert->Handle : NULL; }; virtual void __fastcall CreateHandle(void); virtual void __fastcall CreateParams(Vcl::Controls::TCreateParams &Params); virtual void __fastcall DrawItem(int Index, const System::Types::TRect &Rect, Winapi::Windows::TOwnerDrawState State); virtual void __fastcall MeasureItem(int Index, int &Height); DYNAMIC void __fastcall KeyDown(System::Word &Key, System::Classes::TShiftState Shift); virtual void __fastcall SetParent(TWinControl* AParent); DYNAMIC void __fastcall VisibleChanging(void); MESSAGE void __fastcall WMEraseBkgnd(TWMEraseBkgnd &Message); MESSAGE void __fastcall WMNCCalcSize(TWMNCCalcSize &Message); MESSAGE void __fastcall WMVScroll(TWMVScroll &Message); MESSAGE void __fastcall WMMouseWheel(TWMMouseWheel &Message); BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_ERASEBKGND, TWMEraseBkgnd, WMEraseBkgnd) MESSAGE_HANDLER(WM_NCCALCSIZE, TWMNCCalcSize, WMNCCalcSize) MESSAGE_HANDLER(WM_VSCROLL, TWMVScroll, WMVScroll) MESSAGE_HANDLER(WM_MOUSEWHEEL, TWMMouseWheel, WMMouseWheel) END_MESSAGE_MAP(Vcl::Stdctrls::TListBox) public: __fastcall virtual TSkinListBox(System::Classes::TComponent* AOwner); __fastcall ~TSkinListBox(); virtual void __fastcall AddItem(System::UnicodeString Item, System::TObject* AObject); virtual void __fastcall DeleteSelected(void); bool __fastcall IsSBLButtonDown(int X, int Y); }; #endif