如何通过制表符或箭头键在Delphi中的字符串网格单元格之间移动?如您所知,delphi中的字符串网格只有一个Tab键顺序,但我需要通过箭头键或Tab键在单元格之间移动,以使其更加舒适和用户友好。
我尝试使用KeyPress事件,但此事件只知道字符,并且不知道控制键,如tab和...
答案 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;