Einzelnen Beitrag anzeigen

Benutzerbild von BeBored
BeBored

Registriert seit: 2. Jun 2004
Ort: Cremlingen
90 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

DrawGrid füllen ohne OnDrawCell

  Alt 28. Jul 2008, 18:32
Hallo,

ich programmiere ja im Moment an einem Gleisplan und dafür nutze ich ein DrawGrid. Meine Daten dafür hole ich aus einer Datenbank (dank mkinzler) mit SQL:
SELECT x, y, Feldtext FROM "Gleisbild" WHERE Plan = 1 AND Art = 'Text' In das Grid füge ich das ganze mit folgendem Code:
Delphi-Quellcode:
while not query.Eof do
  begin
    Gleis.Text(query.FieldByName('x').AsInteger, query.FieldByName('y').AsInteger, query.FieldByName('Feldtext').AsString);
    query.Next;
  end;
Gleis.Text sieht so aus:
Delphi-Quellcode:
procedure TZeichnen.Text(Spalte, Reihe: Integer; Text: string);
Var
  p: TRect;
begin
  SetBkMode(Can.Canvas.Handle, OPAQUE);
  Can.Canvas.Font.Color := clBlack;
  Can.Canvas.Font.Size := 7;
  Can.Canvas.Font.Name := 'Arial';
  p := Can.CellRect(Spalte, Reihe);
  Can.Canvas.TextOut(p.Left, p.Top, Text);
end;
Nur wenn ich auf dem DrawGrid zeichne ist z.B. alles beim verschieben weg. Aber im OnDrawCell wird ja die SQL Abfrage so schnell abgerufen das garnichts mehr geht. Wie gehe ich da am besten vor?
Matthias
Wer nichts wagt der nichts verliert.
  Mit Zitat antworten Zitat