, Чтобы узнать больше, прочитайте исходный код.

коллегой спорили о том, какой путь будет менее обременительным для системных ресурсов. (Примечание: это не тот вопрос, на который я хочу получить ответ. Скорее заголовок и строка, выделенная жирным шрифтом, - это вопрос, на который я ищу ответ.)

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 и просматривает сообщения, чтобы затем вызвать события, связанные с нажатиями клавиш.

Если это так, то будут ли оба подхода примерно одинаковыми?

Ответы на вопрос(4)

Ваш ответ на вопрос