У меня есть сообщение о секретности WM_PAINT, отправляемое в окно без причины, которое я могу понять. Я посылаю одно сообщение WM_PAINT из некоторого кода шахтной using-Диагностировать тайну Сообщение WM_PAINT
InvalidateRgn(graphwin_hwnd,NULL,1);
SendMessage(graphwin_hwnd,WM_PAINT,0,0);
, но после выполнения последующего кода, который рисует некоторые графики на экране, отладчик показывает, что второе WM_PAINT сообщение приходит откуда-то. Мой вопрос в том, как я могу диагностировать то, что вызывает отправку этого второго сообщения WM_PAINT.
Edit: i486 правильно указал, что мне не нужно явно сделать SendMessage() ... но, к моему удивлению, даже когда я заметил это, я все еще получаю 1 лишнюю тайну WM_PAINT сообщение быть отправленный обработчику для моего графического окна, так что это еще не совсем проблема.
Edit: К сожалению, я ошибся, после того, как закомментировать SendMessage, кажется, я до сих пор несвязанного ошибка завинчивания вещи - но я только один WM_PAINT сообщение ... так проблема решена.
Почему вы решили отправить 'WM_PAINT' себя? Это всегда неправильно. –
* Я все еще получаю 1 избыточное тайное сообщение WM_PAINT, отправленное обработчику для моего графического окна, так что это еще не совсем проблема. * Вы должны ожидать получения сообщений WM_PAINT. Почему вы их удивляете? Как будет выглядеть ваше окно без них? –
@David, я ожидаю получить одно сообщение WM_PAINT ... но я получаю два. Рисунок занимает некоторое время, потому что это граф рассеяния, содержащий более 100 000 точек, я не хочу делать это дважды без необходимости. – Mick