#pragma once #include "CtrlButtonWZ.h" //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- // CCtrlHScrollWZ Class //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- class CCtrlHScrollWZ : public CControlWZ { public: CCtrlHScrollWZ(); virtual ~CCtrlHScrollWZ(); 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 SetStyle(DWORD dwStyle); 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); //. °¡¿îµ¥ ¹öư Å©±â¸¦ ´Ã·ÁÁØ´Ù. 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 SetArrowLeftBTImageFormat(SI_TFORMAT* pFormat); virtual void SetArrowRightBTImageFormat(SI_TFORMAT* pFormat); virtual void SetArrowThumbBTImageFormat(SI_TFORMAT* pFormat); virtual SI_TFORMAT* GetArrowLeftBTImageFormat(); virtual SI_TFORMAT* GetArrowRightBTImageFormat(); virtual SI_TFORMAT* GetArrowThumbBTImageFormat(); virtual void SetArrowLeftBTIsOutline(bool blIs); virtual bool GetArrowLeftBTIsOutline(); virtual void SetArrowLeftBTOutlineColor(COLORREF rgb); virtual COLORREF GetArrowLeftBTOutlineColor(); virtual void SetArrowLeftSize(RECT& rect); virtual RECT GetArrowLeftSize(); virtual void SetArrowRightBTIsOutline(bool blIs); virtual bool GetArrowRightBTIsOutline(); virtual void SetArrowRightBTOutlineColor(COLORREF rgb); virtual COLORREF GetArrowRightBTOutlineColor(); virtual void SetArrowRightSize(RECT& rect); virtual RECT GetArrowRightSize(); 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_rtShaftLeft; //. ¸öÅëÀÇ Left ¿µ¿ª . topx, topy, width, Height RECT m_rtShaftRight; //. ¸öÅëÀÇ Right ¿µ¿ª . topx, topy, width, Height bool m_blThumbDrag; //. ½æÀ» µå·¹±× ÇÏ´Â ÁßÀÎÁö üũ. POINT m_poLBD; //. ¸¶¿ì½º ¿ÞÂÊ ¹öư ´­·¶À»¶§ÀÇ ÁÂÇ¥. CCtrlButtonWZ m_cBTArrowLeft; //. È­»ìÇ¥ Left CCtrlButtonWZ m_cBTArrowRight; //. È­»ìÇ¥ Right CCtrlButtonWZ m_cBTThumb; //. ½æ(Thumb) };