delphi: перемещаться между ячейками сетки строк - PullRequest
5 голосов
/ 13 июля 2011

Как я могу перемещаться между ячейками цепочки строк в Delphi с помощью клавиш со стрелками или клавишами?Как вы знаете, сетка строк в Delphi имеет только один порядок табуляции, но мне нужно перемещаться между ячейками с помощью клавиш со стрелками или табуляции, чтобы быть более удобным и удобным для пользователя.

Я пытался использовать событие KeyPress, но этособытие знает только символы и не знает управляющих клавиш, таких как tab и ...

Ответы [ 2 ]

5 голосов
/ 13 июля 2011
StringGrid.Options := StringGrid.Options + [goEditing, goTabs];

Или установите это время разработки.

Теперь вы можете перемещаться от ячейки к ячейке с помощью клавиш со стрелками и клавишами.Если вы на самом деле редактируете ячейку, то сначала вы должны отпустить фокус, если хотите переместиться в ячейку влево или вправо.В этом случае используйте вкладку (смещение).

0 голосов
/ 12 июля 2012
{ 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;
...