Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Problem DrawGrid->Automatisches refreshen (https://www.delphipraxis.net/75581-problem-drawgrid-automatisches-refreshen.html)

inherited 21. Aug 2006 22:12


Problem DrawGrid->Automatisches refreshen
 
Hi.
Ich versuche einen kleinen editor zu basteln, scheitere aber an dem Versuch, die "Map" in einem DrawGrid anzeigen zu lassen.
ICh mache dies mit einem Timer

Delphi-Quellcode:
procedure TForm9.Timer1Timer(Sender: TObject);
var
  i: Integer;
  j: Integer;
  r: TRect;
begin
  for i := 0 to DrawGrid1.ColCount do
  begin
    for j := 0 to DrawGrid1.RowCount do
    begin
      if Map[i,j]=-1 then exit;
      r:=DrawGrid1.CellRect(i,j);
      DrawGrid1.Canvas.Draw(r.Left, r.Top, Tiles[Map[i, j]].Picture.Bitmap);
    end;
  end;
end;
Map ist ein array of array of Integer welches den TYp des feldes darstellt, ergo welches Bitmap angezeigt werden soll.
Tiles ist ein Array of TImage, welches die Bitmaps enthält

Ich kann zwar allen Feldern einen Wert zuweisen, jedoch wird nur das allererste Feld refreshed, alle anderen garnicht.
Was mach ich falsch

Bernhard Geyer 21. Aug 2006 22:15

Re: Problem DrawGrid->Automatisches refreshen
 
Zitat:

Zitat von inherited
Was mach ich falsch

Du solltest das Zeichnen nicht mit einem Timer erledigen sondern mit dem CellDraw-Event der Komponenten.

inherited 21. Aug 2006 22:20

Re: Problem DrawGrid->Automatisches refreshen
 
Was den nachteil hat das, sobald man das Prog minimiert, alles weg ist oder irgenwie seltsam aussieht.
Das hab ich schon versucht, danke trotzdem

Bernhard Geyer 21. Aug 2006 22:23

Re: Problem DrawGrid->Automatisches refreshen
 
Zitat:

Zitat von inherited
Was den nachteil hat das, sobald man das Prog minimiert, alles weg ist oder irgenwie seltsam aussieht.

Dann hast Du noch andere Fehler in deiner Zeichenroutine.

So z.B. das die Schleifen bis ColCount/RowCount laufen. Und da die Zellenberechnung 0-Basierent ist, ist das Falsch.

inherited 21. Aug 2006 22:40

Re: Problem DrawGrid->Automatisches refreshen
 
...Was immer noch nicht das problem löst (leider)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz