WM_PAINT контроллов

Средства разработки, технические вопросы, отвечает (по мере сил) Отдел Разработок
Закрыто
Const_ptr
Новенький (0 lvl)
Сообщения: 7
Зарегистрирован: Сб июл 21, 2007 12:35

WM_PAINT контроллов

Сообщение Const_ptr » Сб фев 02, 2008 20:56

Обрабатываю посвоему вм_паинт для прогрессбара, а он
никак нериагирует... перересовывается нормально только после
сворачивания/разворачивания(home;back)...
Как сделать правильно?.... и может есть какой-то др. способ рисовать что надо на прогрессбаре?

Что я делаю:
присваиваю прогрессбару свою wndproc.
и там

Код: Выделить всё

case WM_PAINT:{
   hdc = BeginPaint(_hWnd, &ps);
        FillRect(hdc,&ps.rcPaint,LtGrBrsh);
        ps.rcPaint.right=progress;//это переменная, кот меняется
        FillRect(hdc,&ps.rcPaint,BlBrsh);
   EndPaint(_hWnd, &ps);
   return 0;
}
В прилагаемом примере progress прибавляется на кнопку вправо и убавляется
на кнопку влево... невидно чтоб чтонибудь происходило... home, back и все отрисовалось как задумано.

sshd
Нобелевский лауреат (7 lvl)
Сообщения: 2159
Зарегистрирован: Вс мар 19, 2006 15:55

Сообщение sshd » Пн фев 04, 2008 08:15

ну так может ты invalidate не вызываешь?
Samsung GT-S8500 + MicroSD 8Gb

Закрыто

Вернуться в «Программирование для КПК»