• Labor © (19.03.11 14:27) [0]
    Стоит 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 каким был по размерам таким и остался...
    Пробовал отключить таймер - тоже самое.
    Но перед запуском таймера все нормально работает (размер меняется).
    Подскажите как это вылечить.
  • sniknik © (20.03.11 17:11) [1]
    > Тут все "вкусно".
    перестань лизать всякую гадость, и начни наконец то (учись) программировать...

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

    p.p.s. если же по существу конкретно этого вопроса, то сплитер меняет размер компонента, но не битмапа. а имеджа нет совмещения размеров (не для того видать делали), озаботься им сам... ну вот, пойду сблюю.
  • Amoeba_ (20.03.11 19:20) [2]

    > Labor ©   (19.03.11 14:27)

    Этот вопрос уже рассматривался здесь
    http://www.delphikingdom.com/asp/answer.asp?IDAnswer=79325
    , и суть ответов была та же. Что не устраивает?
Есть новые Нет новых   [134431   +9][b:0][p:0]