Einzelnen Beitrag anzeigen

Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#2

AW: TStringGrid, MakeVisible-Ersatz

  Alt 16. Mai 2011, 19:14
Hallo,

so ganz ohne TopRow wird es nicht gehen, aber Du siehst es ja nicht, ist in der Prozedur versteckt

Delphi-Quellcode:
procedure MakeVisible(SG: TStringGrid; Row: Integer);
var i, x, TargetRow: Integer;
begin
  if Row > Pred(SG.RowCount) then
    TargetRow := Pred(SG.RowCount)
    else
    if Row < 0 then
      TargetRow := 0
      else
        TargetRow := Row;
  x := SG.ClientHeight;
  i := TargetRow;
  while (i > 0) and (x < SG.RowHeights[i]) do
    begin
    dec(x, SG.RowHeights[i]);
    dec(i);
    end;
  if x > SG.RowHeights[0] then
    SG.TopRow := 0
    else
      SG.TopRow := i;
  SG.Row := TargetRow;
end;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat