在窗口中加一个StringGrid, Option中goEditing设True,写一个KeyDown事件如下:
procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_return then
with stringGrid1 do
begin
if Col = (ColCount - FixedCols) then
begin
if Row < (RowCount - FixedRows) then
begin
Row := Row + 1;
Col := 1;
end;
end
else
begin
Col := Col + 1;
end;
end;
end;
procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_return then
with stringGrid1 do
begin
if Col = (ColCount - FixedCols) then
begin
if Row < (RowCount - FixedRows) then
begin
Row := Row + 1;
Col := 1;
end;
end
else
begin
Col := Col + 1;
end;
end;
end;
解决方案 »
- 如何实现这样显示窗体???
- 自动运行程序的问题!
- 安装了水晶报表 for delphi7 vcl的dcl7cr9.dpk
- 关于dbGrid显示datetime列值为NUll时的问题
- 我是新手!!!!!!!
- ####公历、农历互转的算法和源代码####
- 各们请奉献团体开发主义精神吧。
- 300分!!!急急 请问各位高手如何实现汉字繁体向简体的转换字符集是 GB2312 ??最好给出源码,在下实在是感激不尽!!!!分,一次给不多我保证会再加的!!!
- 我刚转DELPHI没多长时间,有几个初级的问题请大家帮忙----之一
- 如何动态控制MASKEDIT中没有输入字符时不出现“_“。
- 請問怎麼生成報表??我右鍵選'Preview'可以顯示記錄,但程序運行時一條也不顯示????
- 有誰對計算字段比較熟,問題解決了一定給分!!!!
if (StringGrid.Col <> StrnigGrid.ColCount-1) then
StringGrid.Col := StrnigGrid.Col +1
else if (StringGrid.Row <> StrnigGrid.RowCount-1) then
begin
StringGrid.Col := 0;
StringGrid.Row := StringGrid.Row +1;
end;
StringGrid.Row:=n;
//stringGrid.SetFocus;