gpt4 book ai didi

Delphi 7 - 为什么 VK_RETURN 对我不起作用?

转载 作者:行者123 更新时间:2023-12-02 04:38:12 25 4
gpt4 key购买 nike

procedure TfrmProgress.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = VK_RETURN then
begin
Self.Close;
end;
end;

然后我按 Enter 键,但没有任何反应...

最佳答案

我无法从这些信息中告诉你你的问题是什么,但我可以告诉你如何解决它。

创建一个事件处理程序并将其附加到Application.OnMessage。每当从应用程序消息队列中提取任何排队消息时,都会调用此函数。键盘消息是输入消息,因此会排队,以便 WM_KEYDOWN 消息将到达此事件处理程序。

像这样实现处理程序:

procedure TMyForm.ApplicationMessage(var Msg: TMsg; var Handled: Boolean);
begin
if Msg.Message=WM_KEYDOWN then
Handled := False;
end;

启用调试 DCU,然后在 Handled := False 行设置断点。运行您的应用程序,选择旋转编辑并按 ENTER。该代码将被破坏,您现在可以单步执行以查看 WM_KEYDOWN 消息的路由位置。

事件处理程序返回后,您应该继续执行,直到找到对 DispatchMessage 的调用。按 F7 进入此过程并继续跟踪,直到您找到它落在哪里以及为什么它没有落在您想要的事件处理程序中。

关于Delphi 7 - 为什么 VK_RETURN 对我不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5689270/

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