5

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

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

4

2 回答 2

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

或者设置这个设计时间。

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

于 2011-07-13T12:39:18.933 回答
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;
于 2012-07-11T22:04:00.093 回答