Das setzen von werten hat nicht automatisch ein neuzeichnen der Zelle zur Folge. Neugezeichnet wird die zelle nur, wenn sie im sichtbaren bereich liegt.
füge beim ondrawcell z.B. sowas ein
listbox1.Items.add('col:'+inttostr(acol)+'row:'+inttostr(arow));
und wenn du dann z.B. neue werte setzt
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
stringgrid1.cells[1,1]:='Test';
stringgrid1.cells[2,2]:='Test';
stringgrid1.cells[3,3]:='Test';
stringgrid1.cells[4,4]:='Test';
stringgrid1.cells[5,5]:='Test';
end;
dann werden auch nur diese 5 Zellen gezeichnet, wenn sie im sichtbaren bereich liegen.
Zitat:
beim mir werden jedesmal alle zellen neu geschrieben,
und das grid wird meiner meinung nach doch 2. mal gezeichnet,
woher weißtz du das? verwendest du noch irgendwo repaint etc?
Zitat:
bemerkung : ich meinte das die zellen alle 2 mal gezeichnet werden muessen, nicht das komplette grid !
ich verstehe nicht, was du damit sagen willst.