Einzelnen Beitrag anzeigen

Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#12

Re: Performance bei vielen Images & Auflösung

  Alt 21. Mär 2006, 10:23


So, hab heut mah versucht datt eh bissl umzusetzen mit dem canvas, aber irgenwie will nix so recht.
, sobald ich die Auflösung verändere streiken die Bildchen.




Klappt nich wirklich, sieht sch... aus.(Siehe Bild, nach der auflöungsveränderung wirds im ImageButton weis)
Delphi-Quellcode:
procedure TForm1.AllMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
 itag:wideString;
begin

 iTag := IntToStr((Sender as TControl).Tag);
 //(FindComponent('Image'+(iTag)) as TImage).Picture.Assign(Buttonunten[(Sender as TImage).Tag]);
  (FindComponent('Image'+(iTag)) as TImage).Picture:=nil;
 ImageList1.Draw((FindComponent('Image'+(iTag)) as TImage).Canvas, 0, 0, 0);
end;

Klappt so halb, durch die auflösungsveränderung wills nich wirklich.(siehe Bild)
Der bereich um den der ImageButton verkleinert wird, wird nur neu gezeichnet beim auslösen des onclick's
und bei diesem Befehl
(FindComponent('Image'+(iTag)) as TImage).Picture.Assign(Buttonunten[(Sender as TImage).Tag]); sonst nicht. Ich habs in form.create auch mah mit Form1.Canvas.Refres Form1.Refresh;Form1.Repaint; probiert, aber keines der drei will den komischen Rand verschwinden lassen.
Gibt es da einen Befehl?der das Bild nach der Auflöungsveränderung noch einmal neu zeichnet oder so?
Delphi-Quellcode:
procedure TForm1.FormPaint(Sender: TObject);
begin
 Form1.Canvas.Draw(0, 0, MainBitmap);
end;
Miniaturansicht angehängter Grafiken
bild_124.jpg  
  Mit Zitat antworten Zitat