如何使我的自定义树形视图接受Enter键?

3
我有一个自定义控件,继承自TTreeView。我试图在控件被聚焦后,让用户按下“Enter”键时它具有特殊的行为,通过添加响应VK_RETURN的WM_CHAR处理程序来实现,但它从未被调用过。
我尝试确保它可以接受所有键盘输入,通过添加一个WM_GETDLGCODE处理程序,该程序表示:msg.Result := msg.Result or DLGC_WANTALLKEYS;。现在它可以接收ENTER键,但箭头键不再起作用!
有人知道如何正确地解决这个问题吗?
1个回答

4

我经常做

WM_GETDLGCODE: Message.Result := Message.Result or DLGC_WANTCHARS or
                                 DLGC_WANTARROWS or DLGC_WANTTAB or
                                 DLGC_WANTALLKEYS;

当编写文本编辑器时,您可能只是忘记了DLGC_WANTARROWS


谢谢!那个起作用了。你会认为叫做WantAllKeys的东西意味着你想要所有的键,但我猜不是这样。真是难以理解。 - Mason Wheeler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接