Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 托管VCL.箭头键和Tab键_C#_Delphi_Keyboard Events - Fatal编程技术网

C# 托管VCL.箭头键和Tab键

C# 托管VCL.箭头键和Tab键,c#,delphi,keyboard-events,C#,Delphi,Keyboard Events,我正在使用托管VCL在Delphi窗体上托管.net用户控件。 但我有一个问题:tab键、箭头键和特定键(HOME、INSERT)不起作用。 我尝试了托管VCL论坛上写的所有内容。 1)我试图将我的用户控件置于更高级别的用户控件,并在那里重写ProcessDialogKey。但这没有帮助。 2)我试图将DLGC_WANTTAB或DLGC_wanttalkeys添加到TClrCustomControl.WMGetDlgCode的消息结果中,但这对我也没有帮助 有人能帮我解决这个问题吗?我也遇到过

我正在使用托管VCL在Delphi窗体上托管.net用户控件。 但我有一个问题:tab键、箭头键和特定键(HOME、INSERT)不起作用。

我尝试了托管VCL论坛上写的所有内容。
1)我试图将我的用户控件置于更高级别的用户控件,并在那里重写ProcessDialogKey。但这没有帮助。
2)我试图将DLGC_WANTTAB或DLGC_wanttalkeys添加到TClrCustomControl.WMGetDlgCode的消息结果中,但这对我也没有帮助


有人能帮我解决这个问题吗?

我也遇到过类似的问题。我通过截取主机窗体上的tab键并不允许它处理击键来解决这个问题。以下代码适用于我的情况:

过程CMDialogKey(变量消息:tcmdilogkey);消息CM_对话框键;
...
过程TForm1.CMDialogKey(变量消息:tcmdilogkey);
开始
如果Message.CharCode=VK_选项卡,则
//忽略选项卡并允许TClrControl处理它们
其他的
继承;
结束;
在我的例子中,TClrControl是与客户机对齐的,并且覆盖了整个表单,因此,如果混合使用VCL和.NET控件,这在您的情况下可能不太合适