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();
|
|
|
|
/// 重写父类方法,提供个性化功能,请参考父类声明
|
|
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 获取步进步长
|
|
* @return 返回步进步长
|
|
*/
|
|
int GetChangeStep();
|
|
|
|
/**
|
|
* @brief 设置步进步长
|
|
* @param[in] step 要设置的步长
|
|
* @return 无
|
|
*/
|
|
void SetChangeStep(int step);
|
|
|
|
/**
|
|
* @brief 设置多动滑块的大小
|
|
* @param[in] szXY 要设置的大小
|
|
* @return 无
|
|
*/
|
|
void SetThumbSize(CSize szXY);
|
|
|
|
/**
|
|
* @brief 获取滑块的矩形信息
|
|
* @return 返回滑块的矩形信息
|
|
*/
|
|
UiRect GetThumbRect() const;
|
|
|
|
/**
|
|
* @brief 获取指定状态下滑块的图片
|
|
* @param[in] stateType 要获取的状态标识,参考 ControlStateType 枚举
|
|
* @return 返回图片路径
|
|
*/
|
|
std::wstring GetThumbStateImage(ControlStateType stateType);
|
|
|
|
/**
|
|
* @brief 设置指定状态下滑块的图片
|
|
* @param[in] stateType 要设置的状态标识,参考 ControlStateType 枚举
|
|
* @param[in] pStrImage 要设置的图片位置
|
|
* @return 无
|
|
*/
|
|
void SetThumbStateImage(ControlStateType stateType, const std::wstring& pStrImage);
|
|
|
|
/**
|
|
* @brief 获取进度条内边距
|
|
* @return 返回内边距信息
|
|
*/
|
|
UiRect GetProgressBarPadding() const;
|
|
|
|
/**
|
|
* @brief 设置进度条内边距
|
|
* @param[in] rc 要设置的边距信息
|
|
* @return 无
|
|
*/
|
|
void SetProgressBarPadding(UiRect rc);
|
|
|
|
/**
|
|
* @brief 监听进度条进度改变事件
|
|
* @param[in] callback 进度条进度改变后调用的回调函数
|
|
* @return 无
|
|
*/
|
|
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_
|