Files
AccompanyCube/SkinListBoxUnit.h
2026-06-13 00:10:11 +08:00

45 lines
1.7 KiB
C++

//---------------------------------------------------------------------------
#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