Hazırladığım program açılırken bir progress bar göstermek istiyorum. Açılması uzun sürüyor (süreceğini tahmin ediyorum). Ancak standart progress barları kullanamam, çünkü yapmak istediğim progress bar şöyle birşey: Zeminde bir boş progress bar "resmi" var, ilerleme oldukça dolu progress bar "resmi" üzerine çiziliyor. Böylece progress bar ilerliyormuş gibi gözüküyor.
Bunu bir bileşen olarak hazırlamak "istemediğimi" de özellikle belirtmeliyim.
Aşağıdaki gibi bir deneme yaptım ancak sorun çıktı. Dolu progress bar resmini çizerken renkler doğru gözükmüyor. Sanki yeni resmi çizerken önceki resmin renk paletini kullanıyor ya da yarı-transparan bir şekilde çiziyor gibi. Bu sorunun renkleri aynı resimler kullanıldığında gözükmediğini de ekleyeyim. (Bu da önceki resmin renk paletininin kullanıldığı izlenimi bıraktı bende ama, bu nasıl olur bilemiyorum, yani hiçbir fikrim yok, biraz acemiyim de)
Kod: Tümünü seç
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (i<300) then // resimlerin boyutu 300x34 piksel
begin
i:=i+1;
image1.Canvas.CopyRect(rect(0,0,i,34),image2.canvas,rect(0,0,i,34));
end;
end;
Cevaplarınız için şimdiden teşekkürler.