268 lines
6.4 KiB
C
268 lines
6.4 KiB
C
![]() |
#ifndef UI_CONTROL_SCROLLBAR_H_
|
|||
|
#define UI_CONTROL_SCROLLBAR_H_
|
|||
|
|
|||
|
#pragma once
|
|||
|
|
|||
|
namespace ui
|
|||
|
{
|
|||
|
|
|||
|
class UILIB_API ScrollBar : public Control
|
|||
|
{
|
|||
|
public:
|
|||
|
ScrollBar();
|
|||
|
|
|||
|
Box* GetOwner() const;
|
|||
|
void SetOwner(ScrollableBox* pOwner);
|
|||
|
|
|||
|
/// <20><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><E0B7BD><EFBFBD><EFBFBD><EFBFBD>ṩ<EFBFBD><E1B9A9><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
virtual void SetEnabled(bool bEnable = true) override;
|
|||
|
virtual void SetFocus() override;
|
|||
|
virtual void SetVisible_(bool bVisible) override;
|
|||
|
virtual bool ButtonUp(EventArgs& msg) override;
|
|||
|
virtual bool HasHotState() override;
|
|||
|
virtual bool MouseEnter(EventArgs& msg) override;
|
|||
|
virtual bool MouseLeave(EventArgs& msg) override;
|
|||
|
virtual void SetPos(UiRect rc) override;
|
|||
|
virtual void HandleMessage(EventArgs& event) override;
|
|||
|
virtual void SetAttribute(const std::wstring& strName, const std::wstring& strValue) override;
|
|||
|
virtual void Paint(IRenderContext* pRender, const UiRect& rcPaint) override;
|
|||
|
virtual void ClearImageCache() override;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD> true <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ false <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
bool IsHorizontal();
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD> true <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> false <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ true
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetHorizontal(bool bHorizontal = true);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ XML <EFBFBD><EFBFBD> range <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
*/
|
|||
|
int64_t GetScrollRange() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
* @param[in] nRange Ҫ<EFBFBD><EFBFBD><EFBFBD>õĹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetScrollRange(int64_t nRange);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>Ч
|
|||
|
* @return true Ϊ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ false
|
|||
|
*/
|
|||
|
bool IsValid() { return GetScrollRange() != 0; }
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
int64_t GetScrollPos() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|||
|
* @param[in] nPos Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetScrollPos(int64_t nPos);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>еĴ<EFBFBD>С
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>еĴ<EFBFBD>С
|
|||
|
*/
|
|||
|
int GetLineSize() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>еĴ<EFBFBD>С
|
|||
|
* @param[in] nSize Ҫ<EFBFBD><EFBFBD><EFBFBD>õĴ<EFBFBD>С<EFBFBD><EFBFBD>ֵ
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetLineSize(int nSize);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
int GetThumbMinLength() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] nThumbMinLength Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetThumbMinLength(int nThumbMinLength);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD>ť
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD> true Ϊ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>false Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
*/
|
|||
|
bool IsShowButton1();
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD>ť
|
|||
|
* @param[in] bShow <EFBFBD><EFBFBD><EFBFBD><EFBFBD> true Ϊ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>false Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetShowButton1(bool bShow);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD>״̬<EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD>ťͼƬ
|
|||
|
* @param[in] stateType Ҫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> ControlStateType ö<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬλ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
std::wstring GetButton1StateImage(ControlStateType stateType);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>״̬<EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD>ťͼƬ
|
|||
|
* @param[in] stateType Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD>µ<EFBFBD>ͼƬ
|
|||
|
* @param[in] pStrImage ͼƬλ<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetButton1StateImage(ControlStateType stateType, const std::wstring& pStrImage);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>һ<EFBFBD><EFBFBD>°<EFBFBD>ť
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD> true Ϊ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>false Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
*/
|
|||
|
bool IsShowButton2();
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>һ<EFBFBD><EFBFBD>°<EFBFBD>ť
|
|||
|
* @param[in] bShow <EFBFBD><EFBFBD><EFBFBD><EFBFBD> true Ϊ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>false Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetShowButton2(bool bShow);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD>״̬<EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>°<EFBFBD>ťͼƬ
|
|||
|
* @param[in] stateType Ҫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> ControlStateType ö<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬλ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
std::wstring GetButton2StateImage(ControlStateType stateType);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>״̬<EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>°<EFBFBD>ťͼƬ
|
|||
|
* @param[in] stateType Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD>µ<EFBFBD>ͼƬ
|
|||
|
* @param[in] pStrImage ͼƬλ<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetButton2StateImage(ControlStateType stateType, const std::wstring& pStrImage);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>״̬<EFBFBD>µ<EFBFBD>ͼƬ
|
|||
|
* @param[in] stateType Ҫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> ControlStateType ö<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬλ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
std::wstring GetThumbStateImage(ControlStateType stateType);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>״̬<EFBFBD>µ<EFBFBD>ͼƬ
|
|||
|
* @param[in] stateType Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>״̬<EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> ControlStateType ö<EFBFBD><EFBFBD>
|
|||
|
* @param[in] pStrImage ͼƬλ<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetThumbStateImage(ControlStateType stateType, const std::wstring& pStrImage);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD>״̬<EFBFBD>»<EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>ʶͼƬ
|
|||
|
* @param[in] stateType Ҫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> ControlStateType ö<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬλ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
std::wstring GetRailStateImage(ControlStateType stateType);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>״̬<EFBFBD>»<EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>ʶͼƬ
|
|||
|
* @param[in] stateType Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>״̬<EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> ControlStateType ö<EFBFBD><EFBFBD>
|
|||
|
* @param[in] pStrImage ͼƬλ<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetRailStateImage(ControlStateType stateType, const std::wstring& pStrImage);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD>״̬<EFBFBD>µı<EFBFBD><EFBFBD><EFBFBD>ͼƬ
|
|||
|
* @param[in] stateType Ҫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> ControlStateType ö<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬλ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
std::wstring GetBkStateImage(ControlStateType stateType);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>״̬<EFBFBD>µı<EFBFBD><EFBFBD><EFBFBD>ͼƬ
|
|||
|
* @param[in] stateType Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>״̬<EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> ControlStateType ö<EFBFBD><EFBFBD>
|
|||
|
* @param[in] pStrImage ͼƬλ<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetBkStateImage(ControlStateType stateType, const std::wstring& pStrImage);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD>Ƿ<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD> true Ϊ<EFBFBD>ǣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ false
|
|||
|
*/
|
|||
|
bool IsAutoHideScroll(){return m_bAutoHide;}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] hide <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ true Ϊ<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD>false Ϊ<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetAutoHideScroll(bool hide);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> ControlStateType ö<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
ControlStateType GetThumbState() { return m_uThumbState; }
|
|||
|
|
|||
|
private:
|
|||
|
void ScrollTimeHandle();
|
|||
|
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
|
|||
|
void PaintBk(IRenderContext* pRender);
|
|||
|
void PaintButton1(IRenderContext* pRender);
|
|||
|
void PaintButton2(IRenderContext* pRender);
|
|||
|
void PaintThumb(IRenderContext* pRender);
|
|||
|
void PaintRail(IRenderContext* pRender);
|
|||
|
|
|||
|
protected:
|
|||
|
enum
|
|||
|
{
|
|||
|
DEFAULT_SCROLLBAR_SIZE = 16,
|
|||
|
};
|
|||
|
|
|||
|
bool m_bHorizontal;
|
|||
|
bool m_bShowButton1;
|
|||
|
bool m_bShowButton2;
|
|||
|
bool m_bAutoHide;
|
|||
|
int64_t m_nRange;
|
|||
|
int64_t m_nScrollPos;
|
|||
|
int m_nLineSize;
|
|||
|
int m_nThumbMinLength;
|
|||
|
int m_nLastScrollPos;
|
|||
|
int m_nLastScrollOffset;
|
|||
|
int m_nScrollRepeatDelay;
|
|||
|
ScrollableBox* m_pOwner;
|
|||
|
POINT m_ptLastMouse;
|
|||
|
UiRect m_rcButton1;
|
|||
|
UiRect m_rcButton2;
|
|||
|
UiRect m_rcThumb;
|
|||
|
ControlStateType m_uButton1State;
|
|||
|
ControlStateType m_uButton2State;
|
|||
|
ControlStateType m_uThumbState;
|
|||
|
std::wstring m_sImageModify;
|
|||
|
StateImage m_bkStateImage;
|
|||
|
StateImage m_button1StateImage;
|
|||
|
StateImage m_button2StateImage;
|
|||
|
StateImage m_thumbStateImage;
|
|||
|
StateImage m_railStateImage;
|
|||
|
nbase::WeakCallbackFlag m_weakFlagOwner;
|
|||
|
};
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
#endif // UI_CONTROL_SCROLLBAR_H_
|