76 lines
1.9 KiB
C++
76 lines
1.9 KiB
C++
#pragma once
|
|
#include "Control.h"
|
|
|
|
namespace ezui {
|
|
/// <summary>
|
|
/// 进度条控件
|
|
/// </summary>
|
|
class UI_EXPORT ProgressBar : public Control {
|
|
private:
|
|
float m_progress = 0.0f; // 进度值 0.0f - 1.0f
|
|
Color m_progressColor = Color::Blue; // 进度条颜色
|
|
Color m_backgroundColor = Color::LightGray; // 背景颜色
|
|
|
|
public:
|
|
ProgressBar(Object* parentObject = NULL);
|
|
virtual ~ProgressBar();
|
|
|
|
/// <summary>
|
|
/// 设置进度值
|
|
/// </summary>
|
|
/// <param name="progress">进度值,范围 0.0f - 1.0f</param>
|
|
void SetProgress(float progress);
|
|
|
|
/// <summary>
|
|
/// 获取当前进度值
|
|
/// </summary>
|
|
/// <returns>当前进度值</returns>
|
|
float GetProgress() const;
|
|
|
|
/// <summary>
|
|
/// 设置进度条颜色
|
|
/// </summary>
|
|
/// <param name="color">进度条颜色</param>
|
|
void SetProgressColor(const Color& color);
|
|
|
|
/// <summary>
|
|
/// 获取进度条颜色
|
|
/// </summary>
|
|
/// <returns>进度条颜色</returns>
|
|
Color GetProgressColor() const;
|
|
|
|
/// <summary>
|
|
/// 设置背景颜色
|
|
/// </summary>
|
|
/// <param name="color">背景颜色</param>
|
|
void SetBackgroundColor(const Color& color);
|
|
|
|
/// <summary>
|
|
/// 获取背景颜色
|
|
/// </summary>
|
|
/// <returns>背景颜色</returns>
|
|
Color GetBackgroundColor() const;
|
|
|
|
/// <summary>
|
|
/// 设置控件属性
|
|
/// </summary>
|
|
/// <param name="attrName">属性名</param>
|
|
/// <param name="attrValue">属性值</param>
|
|
virtual void SetAttribute(const UIString& attrName, const UIString& attrValue) override;
|
|
|
|
protected:
|
|
/// <summary>
|
|
/// 绘制控件
|
|
/// </summary>
|
|
/// <param name="args">绘制参数</param>
|
|
virtual void OnPaint(PaintEventArgs& args) override;
|
|
|
|
/// <summary>
|
|
/// 应用样式属性
|
|
/// </summary>
|
|
/// <param name="key">属性键</param>
|
|
/// <param name="value">属性值</param>
|
|
/// <returns>是否成功应用</returns>
|
|
virtual bool ApplyStyleProperty(const UIString& key, const UIString& value) override;
|
|
};
|
|
} |