Jetzt blieb nur noch der unschöne Effekt, daß sich die Position der vertikalen Scrollbar im DBGrid verändert. Dem konnte ich mit GetScrollPos und SetScrollPos abhelfen. Der Vollständigkeit halber hier der überarbeitete Code:
Delphi-Quellcode:
Procedure TFormMain.Check_GesehenClick(Sender: TObject);
Var
ScrollPos : Integer;
begin
IF GL.CheckModus
THEN Exit;
GL.CheckModus := True;
DatMod.Aset_Datei.Edit;
DatMod.Aset_Datei.FieldByName('
Gesehen').AsBoolean := Check_Gesehen.Checked;
DatMod.Aset_Datei.Post;
ScrollPos := GetScrollPos(
Handle, SB_VERT);
DatMod.ViewDateienRefresh;
SetScrollPos(
Handle, SB_VERT, ScrollPos, True);
GL.CheckModus := False;
AL_ED_Gesehen.Checked := Check_Gesehen.Checked;
end;