LCL, grids, fixed AutoAdvance when grid has goRowSelect option, reported by Barko

git-svn-id: trunk@12529 -
This commit is contained in:
jesus 2007-10-20 08:11:59 +00:00
parent 713a847fd8
commit 4c24b68ea9
2 changed files with 25 additions and 18 deletions

View File

@ -1760,8 +1760,7 @@ begin
doOnKeyDown; doOnKeyDown;
if Key<>0 then begin if Key<>0 then begin
if dgTabs in Options then begin if dgTabs in Options then begin
if GetDeltaMoveNext(ssShift in Shift, DeltaCol, DeltaRow) then begin
GetDeltaMoveNext(ssShift in Shift, DeltaCol, DeltaRow);
if DeltaRow > 0 then begin if DeltaRow > 0 then begin
if doVKDown then if doVKDown then
@ -1774,7 +1773,7 @@ begin
if (DeltaCol<>0) then if (DeltaCol<>0) then
Col := Col + DeltaCol; Col := Col + DeltaCol;
end;
Key := 0; Key := 0;
end; end;
end; end;
@ -1788,11 +1787,12 @@ begin
if (dgEditing in Options) and not EditorMode then if (dgEditing in Options) and not EditorMode then
EditorMode:=true EditorMode:=true
else begin else begin
GetDeltaMoveNext(ssShift in Shift, DeltaCol, DeltaRow); if GetDeltaMoveNext(ssShift in Shift, DeltaCol, DeltaRow) then begin
if DeltaRow > 0 then if DeltaRow > 0 then
doVKDown; doVKDown;
if DeltaCol <> 0 then if DeltaCol <> 0 then
Col := Col + DeltaCol; Col := Col + DeltaCol;
end;
ResetEditor; ResetEditor;
end; end;
end; end;

View File

@ -6261,6 +6261,13 @@ begin
if FAutoAdvance=aaNone then if FAutoAdvance=aaNone then
exit; // quick case, no auto movement allowed exit; // quick case, no auto movement allowed
if [goRowSelect,goRelaxedRowSelect]*Options=[goRowSelect] then begin
if Inverse then
ACol := FixedCols
else
ACol := ColCount-1;
end;
// browse the grid in autoadvance order // browse the grid in autoadvance order
while CalcNextStep do begin while CalcNextStep do begin
ACol := ACol + DeltaCol; ACol := ACol + DeltaCol;