#pragma once #include "CtrlButtonWZ.h" //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- // CCtrlVScrollWZ Class //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- class CCtrlVScrollWZ : public CControlWZ { public: CCtrlVScrollWZ(); virtual ~CCtrlVScrollWZ(); virtual bool OnCreate(DWORD dwCtrlID,DWORD dwStyle,HWND hParentWnd,HINSTANCE hInstance,RECT* rtSize,void* pDraw); virtual void OnDestroy(); virtual bool OnDraw(bool bl); virtual void OnInitialize(); virtual bool MoveWindowWZ(float fx, float fy, float fWidth, float fHeight); virtual void UpdateWindowWZ(HWND hParent); virtual void ReleaseImage(); virtual void OnLoad(HANDLE hHandle); virtual void OnSave(HANDLE hHandle); virtual void EnableWindowWZ(bool bState); public: virtual void SetChangeSizeThumb(int nSizeRate); //. °¡¿îµ¥ ¹öư Å©±â¸¦ ´Ã·ÁÁØ´Ù.(Min:5~Max:100);100ÀÌ¸é °ûÂù Tthum virtual void SetScrollRangeWZ(int nMinPos, int nMaxPos); virtual void GetScrollRangeWZ(int* pnMinPos, int* pnMaxPos); virtual void SetScrollRangeWZ(float fMinPos, float fMaxPos); virtual void GetScrollRangeWZ(float* pfMinPos, float* pfMaxPos); virtual int SetScrollPosWZ(int nPos); //. ¸®ÅÏÀÌ -1:Minº¸´Ù ÀÛ´Ù,1:Maxº¸´Ù Å©´Ù. 0: OK virtual int GetScrollPosWZ(){return (int)m_fCurPos; } virtual int SetScrollPosWZ(float fPos); //. ¸®ÅÏÀÌ -1:Minº¸´Ù ÀÛ´Ù,1:Maxº¸´Ù Å©´Ù. 0: OK virtual void SetArrowUPBTImageFormat(SI_TFORMAT* pFormat); virtual void SetArrowDownBTImageFormat(SI_TFORMAT* pFormat); virtual void SetArrowThumbBTImageFormat(SI_TFORMAT* pFormat); virtual SI_TFORMAT* GetArrowUPBTImageFormat(); virtual SI_TFORMAT* GetArrowDownBTImageFormat(); virtual SI_TFORMAT* GetArrowThumbBTImageFormat(); virtual void SetArrowUPBTIsOutline(bool blIs); virtual bool GetArrowUPBTIsOutline(); virtual void SetArrowUPBTOutlineColor(COLORREF rgb); virtual COLORREF GetArrowUPBTOutlineColor(); virtual void SetArrowUPSize(RECT& rect); virtual RECT GetArrowUPSize(); virtual void SetArrowDownBTIsOutline(bool blIs); virtual bool GetArrowDownBTIsOutline(); virtual void SetArrowDownBTOutlineColor(COLORREF rgb); virtual COLORREF GetArrowDownBTOutlineColor(); virtual void SetArrowDownSize(RECT& rect); virtual RECT GetArrowDownSize(); virtual void SetArrowThumbBTIsOutline(bool blIs); virtual bool GetArrowThumbBTIsOutline(); virtual void SetArrowThumbBTOutlineColor(COLORREF rgb); virtual COLORREF GetArrowThumbBTOutlineColor(); virtual void SetArrowThumbSize(RECT& rect); virtual RECT GetArrowThumbSize(); protected: //. Mouse °ü·Ã ÇÔ¼öµé. virtual bool Message_MouseLButtonDown(SI_MESSAGE* pMsg); virtual bool Message_MouseLButtonUp(SI_MESSAGE* pMsg); virtual bool Message_MouseMove(SI_MESSAGE* pMsg); protected: short m_nMinSizeX; //. Å©±âÀÇ ÃÖ¼Ò X°ª. int m_nSpaceLength; //. ¸öÅëÀÇ ¿©¹é ±æÀÌ. float m_fMinPos; float m_fMaxPos; float m_fCurPos; //. ÇöÀç À§Ä¡ (ºñÀ²) RECT m_rtShaftUp; //. ¸öÅëÀÇ Up ¿µ¿ª . topx, topy, width, Height RECT m_rtShaftDown; //. ¸öÅëÀÇ Down ¿µ¿ª . topx, topy, width, Height bool m_blThumbDrag; //. ½æÀ» µå·¹±× ÇÏ´Â ÁßÀÎÁö üũ. POINT m_poLBD; //. ¿ÞÂÊ ¹öư ´­·¶À»¶§ÀÇ ÁÂÇ¥. CCtrlButtonWZ m_cBTArrowUp; //. È­»ìÇ¥ up CCtrlButtonWZ m_cBTArrowDown; //. È­»ìÇ¥ down CCtrlButtonWZ m_cBTThumb; //. ½æ(Thumb) };