1

我正在使用 Windows API(在 C++ 中)来创建一个 Windows 应用程序。

现在,我有一个进度条,我想像仪表一样显示它。仪表是蓝色的,没有动画。我无法弄清楚如何实现这一点,如果必须,我将满足于通常的绿色进度条。

请帮忙。

编辑:至少,是否可以禁用动画(突出显示栏填充部分的幻灯片)?

编辑2:

如果其他人遇到此问题,这是 C++ 解决方案:

PAINTSTRUCT ps;
HDC hDC = BeginPaint(hwnd,&ps);
RECT r;
HTHEME theme = OpenThemeData(hwnd,L"PROGRESS");
SetRect(&r,10,10,100,25);
DrawThemeBackground(theme,hDC,11,2,&r,NULL);
SetRect(&r,10,10,50,25);
DrawThemeBackground(theme,hDC,5,4,&r,NULL);
CloseThemeData(theme);
EndPaint(hwnd,&ps);
4

2 回答 2

1

您可以使用 DrawThemeBackground() 绘制这种风格的进度条。您将在我的回答中找到主题名称、零件和状态编号

于 2010-09-04T17:01:53.660 回答
0

内置控件无法做到这一点......但是,ProgressBar 不像是一个复杂的控件。如果您只想要一个蓝色矩形,请使用DrawRect并绘制一个蓝色矩形。

于 2010-09-04T02:34:08.547 回答