Предотвращение потребности назвать ProcessMessages

У меня есть компонент, который я создал, который встраивает аппаратно ускоренный рендерер в TWinControl, таким образом, можно поместить его в форму. Это работает вполне прилично в большинстве случаев, но если я пытаюсь изменить размер управления, все идет пробел, пока цикл сообщения не выполняет и называет WndProc для рендерера, который размещается во внешнем DLL. Это означает, что я должен назвать Приложение. ProcessMessages явно после того, как я изменил размер управления в коде, который я знаю, считают плохой практикой.

Там какой-либо путь состоит в том, чтобы поместить некоторую логику в само управление, чтобы заставить его вызвать WndProc в DLL, когда я изменяю размер управления, таким образом, я не должен буду называть ProcessMessages, чтобы заставить материал представлять право?

7
задан Mason Wheeler 29 April 2010 в 14:35
поделиться

1 ответ

Вместо этого можно вызвать TWinControl.Update, который должен просто отправить сообщение событию WM_PAINT, так что вы не обрабатываете произвольные сообщения.

11
ответ дан 6 December 2019 в 14:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: