[delphi] przewijanie scrollbox'a i zwalnianie aplikacji

0

Siemano,
Mam na formie głównej dodany komponent ScrollBox a w nim 2 Image. Przewijanie ScrollBox-a odbywa się za pomocą przycisków Up, Down, Right, Left... Wszystko niby działa, ale problem zaczyna się gdy ustawie dla Image ort!. Wtedy w miejscu gdzie znajdują się te komponenty przewijanie widocznie zwalnia (zaczyna się ciąć). Podwójne buforowanie jest właczone. Co zrobic zeby ten niechciany efekt się nie pojawiał? Zaznaczam ze <ort>przeźroczystość </ort>musi być właczona. (Tło ScrollBoxa to również Image, jednak bez ort!)

0

Zwalnia bo procesorek ma troche do roboty z odrysowaniem dwoch Image z uwzglednieniem przezroczystosci przy kazdym przesunieciu. Ja bym zrobil to na ScrollBoxie, dodalbym PaintBoxa na ktorym wyswietlalbym zawartosc jakiejs Bitmapki w ktorej bylyby tlo i obrazek odpowiednio wklejone. W ten sposob przesuwanie sprowadzaloby sie tylko do przeryswonia PaintBox'a, a nie rysowania dwoch Image z przezroczystoscia (i duuuzej oszczednosci zasobow komputera)...

0

tak to byłoby rozwiązanie, jednak zawarość ScrollBox-a (czyli te Image) jest generowana na podstawie pliku tekstowego, więc nie moge przygotować tej bitmapki. Myslałem ze jak skorzystam z pliów gif będzie lepiej, jednak jest tak samo. Jakieś pomysły jak to zrobić...?

0
xara napisał(a)

jednak zawarość ScrollBox-a (czyli te Image) jest generowana na podstawie pliku tekstowego, więc nie moge przygotować tej bitmapki.

Dlaczego nie? Tworzysz sobie TBitmap, w nim masz Canvas i na nim mozesz rysowac co chcesz! A gdyby sie ten plik tekstowy zmienil to po prostu tworzysz bitmape od nowa. A jesli juz musi byc to robione przez TImage to - o ile mnie pamiec nie myli - jest jakas funkcja, ktora pozwoli skopiowac zawartosc TImage to TBitmap...

0

dzięki juz wiem o co chodzi :-) ale w takim razie pozostała jeszcze jedna kwestia... gdy mam Image to moge dodać do niego akcje OnClick, w bitmapie to nie przejdzie i to jest oczywiste. Jezeli bym zapisywał współrzędne do tablicy to byłoby to jakies rozwiazanie, ale nie wiem ile wpisów będzie w tym pliku txt :-/ ograniczyc ilości tez nie moge. Co teraz? masz może jakiś pomysł na to?

0

No oczywiscie, ze nie ma. Ale pamietaj, ze Bitmape rysujesz na TPaintBox, a ten juz ma co trzeba.

1 użytkowników online, w tym zalogowanych: 0, gości: 1