delphi:在字符串网格的单元格之间移动

时间:2011-07-13 12:24:03

标签: delphi tab-ordering

如何通过制表符或箭头键在Delphi中的字符串网格单元格之间移动?如您所知,delphi中的字符串网格只有一个Tab键顺序,但我需要通过箭头键或Tab键在单元格之间移动,以使其更加舒适和用户友好。

我尝试使用KeyPress事件,但此事件只知道字符,并且不知道控制键,如tab和...

2 个答案:

答案 0 :(得分:5)

StringGrid.Options := StringGrid.Options + [goEditing, goTabs];

或设置此设计时间。

现在,您可以使用制表符和箭头键从单元格移动到单元格。如果您实际上正在编辑单元格,那么如果要向左或向右移动单元格,则必须先释放焦点。在这种情况下,请使用(shift)标签。

答案 1 :(得分:0)

{ This handles arrow left and right in the GRID
}
procedure TJournalForm.JournalGridKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);

begin
    if (JournalGrid.EditorMode = True) then      //  if arrowing while editing…
      begin
           if Key=VK_Left then if JournalGrid.Col>(JournalGrid.FixedCols+1) then JournalGrid.Col:=JournalGrid.Col-1;
         if Key=VK_Right then if JournalGrid.Col<(JournalGrid.ColCount-1) then JournalGrid.Col:=JournalGrid.Col+1;
    end;
end;