Можно ли при обработке нажатий нескольких кнопок обойтись одним обработчиком события?
Можно и нужно. Это довольно удобный классический прием, используемый в ООП.
Предположим, Вы пишете калькулятор и у Вас десять цифровых кнопок от 0 до 9. Не надо для каждой кнопки писать свой собственный обработчик событий, удобнее создать только один обработчик нажатия кнопки и присваиваеть его остальным девяти кнопкам.
При вызове обработчика в параметре Sender передается указатель на компонент вызвавший этот обработчик. Для получения доступа к полям и методам указанного компонента необходимо указать Delphi к какому типу относится этот компонент - командой AS.
Пример:
procedure TForm1.ButtonAllClick(Sender: TObject); begin WITH Sender AS TButton DO Showmessage ('Нажата кнопка ' + Caption); end;