Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.05.2018, 22:45
AzAtom AzAtom вне форума
Прохожий
 
Регистрация: 16.03.2018
Сообщения: 2
Версия Delphi: Delphi 4
Репутация: 10
По умолчанию TPaintBox и очистка/затирание фона

Здравствуйте!

В компонент PaintBox выводится некая картинка. При просто выводе и при наступлении события OnPaint всё хорошо отрабатывает. Проблема с изменением размера. При изменении размера компонента сначала фон очищается весь и только потом наступает событие OnPaint.
Поставил цвет clNone, всё равно фон очищается.
Так, как мне надо работает сама форма, но надо бы отображать данные не на всю форму, поэтому был выбран PaintBox.

Как сделать так, чтобы при изменении размера PaintBox фон не очищался?
Ответить с цитированием
  #2  
Старый 09.05.2018, 08:57
AzAtom AzAtom вне форума
Прохожий
 
Регистрация: 16.03.2018
Сообщения: 2
Версия Delphi: Delphi 4
Репутация: 10
По умолчанию

Пока нашёл следующее решение:

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



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:43.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2018

ВКонтакте   Facebook   Twitter