代码之家  ›  专栏  ›  技术社区  ›  Alexander Rafferty

无法在windows API中实现meter

  •  1
  • Alexander Rafferty  · 技术社区  · 14 年前

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

    现在,我有一个进度条,我想显示一个米。米是蓝色的,没有动画。我不知道如何实现这一点,如果必须的话,我只会满足于通常的绿色进度条。

    请帮忙。

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

    编辑2:

    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);
    
    2 回复  |  直到 14 年前
        1
  •  1
  •   Community CDub    8 年前

    可以使用DrawThemeBackground()绘制这种样式的进度条。你可以在我的答案中找到主题名称、部分和州编号 this thread .

        2
  •  0
  •   Billy ONeal IS4    14 年前

    内置控件无法执行此操作。。。然而,ProgressBar并不是一个复杂的控件。如果你只想要一个蓝色的矩形,用 DrawRect