Имитация нажатия клавиши
Я имею набор кнопок (caption ='0'..'9') и хотел бы имитировать их нажатие во время нажатия пользователем соответствующей клавиши. То есть, когда пользователь нажимает клавишу '1', кнопка с таким заголовком также должна быть нажата на экране. Как мне это сделать без нового компонента Tbutton?
Нет проблем:
Вероятно вы захотите использовать 10 элементов управления TSpeedButton или их массив, поскольку этот тип кнопок имеет свойство "Down". Для начала установите у свойства "KeyPreview" вашей формы значение "True". Затем создайте обработчик события "OnKeyDown" примерно такого вида...
в этом случае обработчик события "OnKeyUp" будет следующего вида...
Поэкспериментируйте со свойствами "AllowAllUp" и "GroupIndex" для получения необходимого эффекта.
Кроме того, массив кнопок TSpeedButtons был бы наиболее изящным решением в данной задаче, поскольку в этом случае вы могли бы использовать константу VK_ constant в качестве индекса, делая обработчики обоих событий длиной всего в одну строчку - Button[VK_x].Down := True {или False}.