93 lines
2.0 KiB
C
93 lines
2.0 KiB
C
![]() |
#ifndef UI_CONTROL_SLIDER_H_
|
|||
|
#define UI_CONTROL_SLIDER_H_
|
|||
|
|
|||
|
#pragma once
|
|||
|
|
|||
|
namespace ui
|
|||
|
{
|
|||
|
|
|||
|
class UILIB_API Slider : public Progress
|
|||
|
{
|
|||
|
public:
|
|||
|
Slider();
|
|||
|
|
|||
|
/// <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 UiRect GetProgressPos() override;
|
|||
|
virtual void HandleMessage(EventArgs& event) override;
|
|||
|
virtual void SetAttribute(const std::wstring& strName, const std::wstring& strValue) override;
|
|||
|
virtual void PaintStatusImage(IRenderContext* pRender) override;
|
|||
|
virtual void ClearImageCache() override;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
int GetChangeStep();
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] step Ҫ<EFBFBD><EFBFBD><EFBFBD>õIJ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetChangeStep(int step);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>öද<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С
|
|||
|
* @param[in] szXY Ҫ<EFBFBD><EFBFBD><EFBFBD>õĴ<EFBFBD>С
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetThumbSize(CSize szXY);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <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>Ϣ
|
|||
|
*/
|
|||
|
UiRect GetThumbRect() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @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><EFBFBD><EFBFBD>ͼƬ
|
|||
|
* @param[in] stateType Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>״̬<EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> ControlStateType ö<EFBFBD><EFBFBD>
|
|||
|
* @param[in] pStrImage Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ͼƬλ<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetThumbStateImage(ControlStateType stateType, const std::wstring& pStrImage);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ߾<EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ߾<EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
*/
|
|||
|
UiRect GetProgressBarPadding() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ߾<EFBFBD>
|
|||
|
* @param[in] rc Ҫ<EFBFBD><EFBFBD><EFBFBD>õı߾<EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetProgressBarPadding(UiRect rc);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȸı<EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
* @param[in] callback <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȸı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void AttachValueChange(const EventCallback& callback) { OnEvent[kEventValueChange] += callback; }
|
|||
|
|
|||
|
protected:
|
|||
|
int m_nStep;
|
|||
|
CSize m_szThumb;
|
|||
|
StateImage m_thumbStateImage;
|
|||
|
UiRect m_rcProgressBarPadding;
|
|||
|
ControlStateType m_uButtonState;
|
|||
|
std::wstring m_sImageModify;
|
|||
|
};
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
#endif // UI_CONTROL_SLIDER_H_
|