У меня есть несколько TStringGrids внутри TTab, и я использовал
if (Key == VK_RETURN) в течение многих лет (это старое приложение) в качестве триггера для выполнения кода, относящегося к записи в ячейке.
Теперь я хотел бы, чтобы опция удаления содержимого ячейки была записана в нее пустой строкой, поэтому попытался использовать if (Key == VK_DELETE)
, но кнопка удаления вообще не вызывает событие OnKeyPress вмой случай.
Я надеялся захватить событие с помощью следующего кода, относящегося к конкретному активному Stringrid1
void __fastcall TPagesDlgLoadEditorFixed::StringGrid1KeyPress(TObject
*Sender, char &Key)
{
int Grid = 1;
EntriesOnStringGrid(Key, Grid);
}
, и затем с помощью KeyPress передавался код, общий для всех StringGrids, следующим образом:
void TPagesDlgLoadEditorFixed::EntriesOnStringGrid(char &Key, int Grid)
{
if (Key==VK_RETURN)
{
//code works fine
}
if (Key==VK_DELETE)
{
//code has no effect
}
}
Однако, находясь в режиме отладки, можно увидеть, что событие StringGrid1KeyPress вообще не вызывается кнопкой «Удалить».
Любая рекомендация будет принята с благодарностью..