procedure TFmPrtSlMx.StringGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Buffer,sum:string;
i,j:Integer;
begin
// if key=13 then key:=vk_tab; qyp 20161209 modify 修改成回车一次跳到下一个空格中
case Key of
VK_RETURN:
if TStringGrid(Sender).Col + 1 < TStringGrid(Sender).ColCount then
TStringGrid(Sender).Col := TStringGrid(Sender).Col + 1
else begin
TStringGrid(Sender).Col := TStringGrid(Sender).FixedCols;
if TStringGrid(Sender).Row + 1 < TStringGrid(Sender).RowCount then
TStringGrid(Sender).Row := TStringGrid(Sender).Row + 1
else TStringGrid(Sender).Row := TStringGrid(Sender).FixedRows;
end;
end;
if key=46 then m_mxchange:=true;
if key=vk_F10 then print(Sender);
case Key of
65,97:{A,a}
begin
if([ssCtrl]=Shift)then
begin
Buffer:=StringGrid1.Cells[TStringGrid(Sender).Col,TStringGrid(Sender).Row];
sum:='';
if Buffer='' then Exit;
for i:=1 to TStringGrid(Sender).RowCount-2 do
for j:=1 to TStringGrid(Sender).ColCount-2 do
begin
StringGrid1.Cells[j,i]:=Buffer;
end;
end;
sumgridmx;
end;
87,119:{W,w}
begin
if([ssCtrl]=Shift)then
begin
Buffer:=StringGrid1.Cells[TStringGrid(Sender).Col,TStringGrid(Sender).Row];
sum:='';
if Buffer='' then Exit;
i:=TStringGrid(Sender).Row;
for j:=1 to TStringGrid(Sender).ColCount-2 do
begin
StringGrid1.Cells[j,i]:=Buffer;
end;
end;
sumgridmx;
end;
81,113:{Q,q}
begin
if([ssCtrl]=Shift)then
begin
Buffer:=StringGrid1.Cells[TStringGrid(Sender).Col,TStringGrid(Sender).Row];
if Buffer='' then Exit;
j:=TStringGrid(Sender).Col;
for i:=1 to TStringGrid(Sender).RowCount-2 do
begin
StringGrid1.Cells[j,i]:=Buffer;
end;
end;
sumgridmx;
end;
end;
end;