Tło

0

Nie wiem jak zrobić tło w formie które po przykryciu inną formą nie trzeba byłoby odświeżać.
Teraz robię tak:
procedure TForm1.MAPA;
var
Bitmap : TBitMap;
begin
Bitmap := TBitmap.Create;
try
with Bitmap do
begin
LoadFromFile('polska.bmp');
Transparent := True;
Form1.Canvas.Draw(0,0,BitMap);
end;
finally
Bitmap.Free;
end;
end;


0

Wsadz to do OnPaint i juz. Albo na TImage

0

IgorT...odswiezanie jest potrzebne i zrobic je musisz.
nawet zasugerowane przez wolverine onpaint bedzie Ci rysowac to ciagle, tak dziala odswiezanie, tak pracuje windows :)

0

IgorT...odswiezanie jest potrzebne i zrobic je musisz.

To i racja racja.

W sumie dobrze będzie tak jak koledzy radzą, z jednym wyjątkiem: zadeklaruj Bitmap jako zmienną globalną i w Form::OnCreate ją stwórz i załaduj z pliku, a w Form::OnPaint jeno po formie z niej rysuj - będzie o niebo szybciej.

No i nie zapomnij w Form::OnDestroy zwolnić ;-)

0

No i nie wiem, co jest szybsze, ale ja korzystam w takiej sytuacji z CopyRect, nie z Draw. Nigdy się nie zastanawiałem, co jest szybsze.

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