Pasy...

0

Mam kilka labeli, do kazdego jest perzypisane zdarzenie onmouseover:

[code]image1.top:=68;
ImageList1.GetBitmap(1,image1.picture.bitmap);
image1.Show;[/code]

ktore wyswietla pod danym labelem bitmape z imagelist. Dodatkowo jest takze onmouseout:

[code]image1.hide;[/code]

Wszystko dziala jak nalezy jednak kiedy szybciej przejedzie sie nad labelami pojawiaja sie pasy, brudy (pojawiaja sie na ulamki sekund w zupelnie losowych miejscach). Wyglada to jakby bylo zwiazane z ladowaniem tychze bitmap. Nie sa one bombastycznych rozmiarow (te bitmapy). Czy mozna cos na te pasy poradzic?

0

To moze zamiast show i hide, Visible := True, ... := False...?

0

nie probowalem, ale moze po zmianie bitmapy skorzystac z metody 'refresh' albo dla danego obrazka, lub panelu na ktorym sie on znajduje, lub calej formy...

0

Niestety to nie to :-/
Nadal pasy...

0

Spróbuj gdzieś dodać Application.ProcessMessages albo Image.Repaint - może będzie przerysowywać je dokładniej.

//ps. Tfu! prędzej JakiśCanvas.Repaint :)

0

W OnCreate wstaw Form1.DoubleBuffered:=True; - powinno pomóc.

0

Jeszcze mozesz dodac (gdyby dalej byl "nielad wizyjny") :

{Events -> FormResize}

procedure TFormaGlowna.FormResize(Sender: TObject);
begin

Invalidate;  //Odświerzanie obrazu podczas skalowania.
end;

pozdrawiam

0

Nielad ustapil po uzyciu doublebuffered.Dzieki

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