gpt4 book ai didi

delphi - 为什么我的控件不接受键盘输入?

转载 作者:行者123 更新时间:2023-12-03 15:05:03 24 4
gpt4 key购买 nike

我已经构建了一个自定义控件,我正在尝试向其发送输入。它将接受鼠标输入并正确报告 MouseDown、MouseMove 和 MouseUp,但无论出于何种原因,它都不会接受键盘输入。当我单击它时,它不会获得焦点,并且我按下的任何键都会被已经获得焦点的任何控件解释。

这可能是非常简单的事情。我首先想到的地方是 ControlStyle 属性,但我在帮助文件中看到的关于键盘输入的唯一内容是 csNoStdEvents,它禁用了它,而我的控件没有该属性。那么我需要做什么才能使我的控件能够接收输入焦点?

最佳答案

一些值得尝试的事情:

  • MouseDown 上,调用 Windows.SetFocus(Handle)。根据我的经验,WinAPI 函数 SetFocus 通常比 VCL 的 SetFocus 方法效果更好。
  • 响应 WM_GETDLGCODE 消息时,回复 Message.Result := Message.Result 或 DLGC_WANTCHARS 或 DLGC_WANTARROWS 或 DLGC_WANTTAB 或 DLGC_WANTALLKEYS

关于delphi - 为什么我的控件不接受键盘输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2818811/

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