| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > неработает WM_TIMER |
| Автор: yngwie19 13.5.2009, 11:41 | ||
Здравствуйте вот код:
Почему-то не получаю сообщения WM_TIMER. Посмотрите в чем дело? |
| Автор: Andrey44 13.5.2009, 12:31 | ||
Сюда заходит? |
| Автор: yngwie19 13.5.2009, 13:17 |
| Andrey44, Она почему-то в цикле висит |
| Автор: GremlinProg 13.5.2009, 13:21 | ||||||
что это? WM_PAINT приходит когда в очереди только этот WM_PAINT и находится, один одинешенек если его не обрабатывать, то WM_PAINT будет приходить ВСЕГДА, не давая работать корректно остальным сообщениям WM_TIMER напрямую зависит от трафика в очереди, если в ней бесконечно крутится WM_PAINT, он и не придет никогда EndPaint - это закрывающая скобка для BeginPaint, они дополняют друг друга, раздельно их использовать бессмысленно yngwie19, уже в который раз делаешь одну и ту же ошибку минимум работы, которую требует WM_PAINT:
Добавлено через 8 минут и 59 секунд либо, если так не нравится BeginPaint:
это отпустит очередь Добавлено через 10 минут и 45 секунд или так:
|
| Автор: yngwie19 13.5.2009, 14:21 |
| GremlinProg, Спасибо большое, прошу простить за то что ввел Вас в заблуждение. Я когда редактировал код, то случайно удалил строчку BeginPaint(hwnd,&ps); |
| Автор: GremlinProg 13.5.2009, 15:09 |
| yngwie19, c BeginPaint не получать WM_TIMER просто невозможно без него, да, а почему, думаю, объяснил |