Невозможно реализовать счетчик в Windows API - PullRequest
1 голос
/ 04 сентября 2010

Я использую Windows API (в C ++) для создания приложения Windows.

Теперь у меня есть индикатор выполнения, который я хочу показать как метр. Метр синий и не имеет анимации. Я не могу понять, как это реализовать, и если мне придется, я просто соглашусь на обычный зеленый индикатор выполнения.

Пожалуйста, помогите.

РЕДАКТИРОВАТЬ: По крайней мере, возможно ли отключить анимацию (выделите слайды через заполненную часть панели)?

EDIT2:

Вот решение 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);

Ответы [ 2 ]

1 голос
/ 04 сентября 2010

Вы можете нарисовать этот стиль индикатора выполнения с DrawThemeBackground (). В моем ответе вы найдете название темы, номер детали и номер состояния в этой теме .

0 голосов
/ 04 сентября 2010

Встроенный элемент управления не может этого сделать ... однако, ProgressBar не является сложным элементом управления. Если вам нужен только синий прямоугольник, используйте DrawRect и нарисуйте синий прямоугольник.

...