W jaki sposób przescroolować StringGrid do ostatniej pozycji

W jaki sposób przescroolować StringGrid do ostatniej pozycji
WO
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Vloscovia
  • Postów: 35
0

Witam
Może głupie pytanie ale męczę się z tym już jakiś czas...
W jaki sposób, programowo, przescroolować zawartość StringGrida do ostatniego wiersza i ew. go zaznaczyć i "podświetlić"?
Jakieś wskazówki?

cerrato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 9018
3

Napisane na szybko i brzydko, ale działa i pokazuje mechanizm ;)

Kopiuj
procedure TForm1.FormCreate(Sender: TObject);
var i: integer;
    Zaznaczenie: TGridRect;
begin
  Zaznaczenie.Top:= 995;
  Zaznaczenie.Bottom:= 997;
  Zaznaczenie.Left:= 1;
  Zaznaczenie.Right:= 3;
  for i:= 1 to 999 do
    begin
      Form1.StringGrid1.RowCount:= (Form1.StringGrid1.RowCount + 1);
      Form1.StringGrid1.Cells[1, i] := IntToStr(i);
    end;
  Form1.StringGrid1.Row := (Form1.StringGrid1.RowCount - 1);
  Form1.StringGrid1.Selection:= Zaznaczenie;

end;
flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12269
2

Mam łatwiejsze rozwiązanie:

Kopiuj
StringGrid.TopRow := StringGrid.RowCount - 1;
StringGrid.Selection := Rect(
  0,
  StringGrid.RowCount - 1,
  StringGrid.ColCount - 1,
  StringGrid.RowCount - 1
);

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.