一位同事和我本人正在就哪种方式减轻系统资源负担进行辩论.(注意:这不是我想要答案的问题.相反,标题和粗体下面的行是我寻求答案的问题.)
Run Code Online (Sandbox Code Playgroud)1. Using KeyPreview to get the keypresses on a form.
要么
Run Code Online (Sandbox Code Playgroud)2. Using defining an OnMessage procedure and handling it there.
乍一看似乎KeyPreview不会占用系统负担,因为定义OnMessage过程会导致我们的程序检查每条消息.我们不关心的注意消息会导致它被第一个if语句跳出.在最坏的情况下,我们会为每条消息执行if语句.
但我们想知道Delphi如何处理KeyPreview属性......我们想知道Delphi是否在内部定义了自己的OnMessage并查看消息然后触发与keypresses相关的事件.
如果是这种情况,那么两种方法都会大致相同吗?
delphi ×1