Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Tsplitter и Timage [D7]


Labor ©   (2011-03-19 14:27:00) 

Стоит img1:Timage (align=bottom) и над ним splitter:tsplitter (тоже align=bottom)
по таймеру рисуется график в img_buf:Timage и копируется в тот img1

...
temp_rect:=TImage(FindComponent('img'+x).Canvas.ClipRect;
...
TImage(FindComponent('img'+x).Canvas.Lock;
 try
   TImage(FindComponent('img'+x).Canvas.CopyRect(temp_rect,img_buf.Canvas,Rect(se4.Value,se1.Value,img_buf.Wid th-se2.Value,img_buf.Height-se3.Value));
 finally
   TImage(FindComponent('img'+x).Canvas.Unlock;
 end;
...

Тут все "вкусно". Чудеса начинаются если подвинуть splitter при работающем таймере. Такое впечатление, что img1 увеличивается/уменьшается, а вот его Canvas каким был по размерам таким и остался...
Пробовал отключить таймер - тоже самое.
Но перед запуском таймера все нормально работает (размер меняется).
Подскажите как это вылечить.


Amoeba_   (2011-03-20 19:20:00) [1]


> Labor ©   (19.03.11 14:27)

Этот вопрос уже рассматривался здесь
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=79325
, и суть ответов была та же. Что не устраивает?


sniknik   (2011-03-20 17:11:00) [2]

> Тут все "вкусно".
перестань лизать всякую гадость, и начни наконец то (учись) программировать...

p.s. поиск имеджей по имени, и отрисовка по таймеру, если уж сравнивать со вкусом то это блевотина.
лучше все переделать на отрисовку по событию онпаинт, с заменой имежда компонентом у которого оно есть (PaintBox).

p.p.s. если же по существу конкретно этого вопроса, то сплитер меняет размер компонента, но не битмапа. а имеджа нет совмещения размеров (не для того видать делали), озаботься им сам... ну вот, пойду сблюю.


Наверх

Титульная страница Поиск, карта сайта Написать письмо