Files
EzUI/demo/Adminstor/ThirdParty/EzUI/include/EzUI/ProgressBar.h
睿 安 37e7d278bd 备份
2026-01-25 23:46:14 +08:00

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;
};
}