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,21 +1760,20 @@ begin
doOnKeyDown;
if Key<>0 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 doVKDown then
//DeltaCol:=0; // tochk: strict? already in EOF, don't change column
end else
if DeltaRow < 0 then begin
if doVKUP then
//DeltaCol:=0; // tochk: strict? already in BOF, don't change column
end;
if DeltaRow > 0 then begin
if doVKDown then
//DeltaCol:=0; // tochk: strict? already in EOF, don't change column
end else
if DeltaRow < 0 then begin
if doVKUP then
//DeltaCol:=0; // tochk: strict? already in BOF, don't change column
if (DeltaCol<>0) then
Col := Col + DeltaCol;
end;
if (DeltaCol<>0) then
Col := Col + DeltaCol;
Key := 0;
end;
end;
@ -1788,11 +1787,12 @@ begin
if (dgEditing in Options) and not EditorMode then
EditorMode:=true
else begin
GetDeltaMoveNext(ssShift in Shift, DeltaCol, DeltaRow);
if DeltaRow > 0 then
doVKDown;
if DeltaCol <> 0 then
Col := Col + DeltaCol;
if GetDeltaMoveNext(ssShift in Shift, DeltaCol, DeltaRow) then begin
if DeltaRow > 0 then
doVKDown;
if DeltaCol <> 0 then
Col := Col + DeltaCol;
end;
ResetEditor;
end;
end;

View File

@ -6260,7 +6260,14 @@ begin
if FAutoAdvance=aaNone then
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
while CalcNextStep do begin
ACol := ACol + DeltaCol;