Индикатор выполнения встроен в просмотр списка - PullRequest
2 голосов
/ 07 сентября 2010

Кто-нибудь знает, как я могу добавить индикатор выполнения в ячейку списка, используя "чистый" API. Единственные примеры, которые я нашел, это либо в c #, либо в устаревшем mfc

Ответы [ 2 ]

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

Вам нужно будет наложить индикатор выполнения на представление списка.Вам нужно будет обрабатывать сообщения изменения размера столбца и прокручивать его, чтобы правильно изменить его размер.

В качестве альтернативы, вы можете использовать DrawThemeBackground (), чтобы нарисовать полосу прокрутки в виде списка, без необходимости фактического элемента управления.

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 и 4 на другие числа (я думаю, 1 и 1).

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

Вы можете взглянуть на WTL , там есть несколько хороших шаблонов, которые могут вдохновить вас.

...