Пока нашёл следующее решение:
На место, где должен быть PaintBox поставить Panel, на него посадить PaintBox. У Panel установить свойство FullRepaint:=false и BevelOuter:=bvNone, у PaintBox установить свойство Visible:=false; При изменении размера панели вручную устанавливать размер PaintBox, как у панели.
Ограничения и недостатки метода:
- Выводить информацию нужно API функциями, используя PaintBox1.Canvas.Handle.
- Нет события OnPaint, поэтому подходит в основном для часто обновляющихся данных. Так же, обновление при изменении размера и использование aero тем в windows решает вопрос о затирании картинки.
|