社区
Delphi
帖子详情
怎样让自己的控件响应键盘事件?
数字蛋糕
2001-04-02 02:58:00
我从TCustomControl继承了一个控件,但是接收不到键盘消息(尽管我已经写了WM_KEYDOWN或者WM_CHAR的事件处理过程)。
是不是要事先在控件的一些什么属性中作设置?
...全文
152
4
打赏
收藏
怎样让自己的控件响应键盘事件?
我从TCustomControl继承了一个控件,但是接收不到键盘消息(尽管我已经写了WM_KEYDOWN或者WM_CHAR的事件处理过程)。 是不是要事先在控件的一些什么属性中作设置?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
数字蛋糕
2001-06-08
打赏
举报
回复
谢谢
coldljy
2001-04-05
打赏
举报
回复
方向键与其它的键有区别!Delphi中使用这几个键来在多个控件中移动焦点,而不是触发一个WM_KEYDOWM事件。类似的还有VK_RETURN、VK_TAB...
你需要处理WM_GETDLGCODE或CM_WANTSPECIALKEY :
e.g.
type
TMyControl = class(TWinControl)
private
//..
procedure WMGetDlgCode(var message: TMessage);
message WM_GETDLGCODE;
//..
end;
// request the arrow keys + characters
procedure TMyControl.WMGetDlgCode(var message: TMessage);
begin
message.Result := DLGC_WANTARROWS or DLGC_WANTCHARS;
end;
数字蛋糕
2001-04-05
打赏
举报
回复
我没说清楚。后来我又试了一下,其实可以响应一部分的键的。除了四个方向键和左边的Alt以外都可以响应。注:我用的是德语键盘。但是对于WM_KEYDOWN好像不会有这样的区别啊。
BS
2001-04-02
打赏
举报
回复
奇怪
C# WinForm自定义
控件
响应
键盘事件
自己定义的winform
控件
,用其他
键盘事件
都无法
响应
,只有用ProcessCmdKey事件可以达到目的(别忘了主窗体的KeyPreview属性要设置为true),写法如下:protectedoverrideboolProcessCmdKey(refMessagemsg,KeyskeyData) { switch...
pyqt
控件
焦点_pyqt在弹出窗口中
响应
键盘事件
在主界面中点击
控件
弹出新窗口用于输入必要的数据,但弹出窗口中不
响应
键盘事件
,现求助解决办法ps:代码为python3.3.2、pyqt5.6,回答的话用pyqt4也无妨,只是想知道解决的方法,具体代码我可以自己研究,先谢过咯详细解释:1、下图主界面中点击悬赏妖怪下面的line_edit
控件
(注:lineEdit
控件
设为只读)会弹出新窗口用于输入2、在下图中的弹出界面中直接输入字母,会下在方的lin...
qt Label
控件
键盘事件
无
响应
解决办法: 选中Label
控件
,找到属性“focusPolicy”,将其设置为"ClickFocus"
WinForm中窗体
控件
的
键盘事件
KeyPress不
响应
今天在写一个小Demo的时候惊讶的发现按了键盘上的键Form的KeyPress事件居然没有
响应
,调试的时候断点一直进不去。接着又尝试了一下
控件
其他两个事件KeyDown和KeyUp,也是进不去。于是在网上找了找,找到一个答案,说是在需要
控件
响应
KeyPress事件的时候,父窗体的KeyPreview必须设置为True,设置了一下,果然解决了问题。 好记性不如烂笔头,偷偷摸摸得记录一下。 ...
qt中的QComboBox
控件
键盘事件
不
响应
【代码】qt中的QComboBox
控件
键盘事件
不
响应
。
Delphi
5,943
社区成员
262,942
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章