, Чтобы узнать больше, прочитайте исходный код.
коллегой спорили о том, какой путь будет менее обременительным для системных ресурсов. (Примечание: это не тот вопрос, на который я хочу получить ответ. Скорее заголовок и строка, выделенная жирным шрифтом, - это вопрос, на который я ищу ответ.)
1. Using KeyPreview to get the keypresses on a form.
или же
2. Using defining an OnMessage procedure and handling it there.
На первый взгляд кажется, что KeyPreview был бы меньшей нагрузкой на систему, так как определение процедуры OnMessage приводит к тому, что наша программа проверяет каждое входящее сообщение. Замечания о сообщениях, которые нас не волнуют, заставили бы его выпрыгивать первым оператором if. В худшем случае мы бы выполняли оператор if для каждого сообщения.
Но нам интересно, как Delphi работает со свойством KeyPreview ... Интересно, если Delphi внутренне определяет свое собственное OnMessage и просматривает сообщения, чтобы затем вызвать события, связанные с нажатиями клавиш.
Если это так, то будут ли оба подхода примерно одинаковыми?