加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 09:48:49 所属栏目:大数据 来源:网络整理
导读:我已经构建了一个自定义控件,我正在尝试将输入发送到.它将接受鼠标输入并正确报告MouseDown,MouseMove和MouseUp,但无论出于何种原因,它都不接受键盘输入.当我点击它时,它没有得到焦点,我按下的任何键都被任何具有焦点的控件解释. 这可能非常简单.我想看的第
我已经构建了一个自定义控件,我正在尝试将输入发送到.它将接受鼠标输入并正确报告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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读