gpt4 book ai didi

delphi - Delphi 的 KeyPreview 是如何工作的?

转载 作者:行者123 更新时间:2023-12-03 14:42:42 26 4
gpt4 key购买 nike

我和一位同事正在争论哪种方式对系统资源的负担较小。 (注意:这不是我想要答案的问题。相反,标题和下面粗体的行是我寻求答案的问题。)

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 并查看消息,然后触发与按键相关的事件。

如果是这种情况,那么两种方法是否大致相同?

最佳答案

正如其他人已经说过的 - 可能没有明显的差异。

我只是想指出Peter Below关于该主题的一篇优秀文章:A Key's Odyssey archive

This article describes the key message processing as implemented in Delphi 2007 for Win32 VCL forms applications. A few things have changed in this area compared with Delphi 7, but these are mostly additions that I will highlight when we get to them. Most of this code has survived basically unchanged since the times of Delphi 1, a tribute to the robustness of the design. If you are in a hurry or not interested in all the details you can refer to the outline in the summary for a condensed overview.

关于delphi - Delphi 的 KeyPreview 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6509242/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com