FireMonkey:如何将下一个控件集中在vkReturn上?

时间:2012-10-18 22:17:40

标签: delphi firemonkey keyevent multiplatform

Classic VCL question ...但如何在 FireMonkey 中做同样的事情?

我有几个可以专注的标准TControl ......

例如,在某些TEdit中,如果按return key

,我想转到下一个可调焦控件

我尝试了不同的方法,但没有成功(替换密钥,keychar为9时为13,......,将关键事件转发给表单,......)

当然,因为它是FMX,我想要一个适用于所有平台的解决方案......

如果避免

  • 浏览父母的Children属性,
  • 有不同的代码片段来处理不同的平台
  • 标签序列进行硬编码
  • ......,会很棒; o)

1 个答案:

答案 0 :(得分:9)

您可以将以下代码放入表单的OnKeyDown事件中:

  if Key = vkReturn then begin
    Key := vkTab;
    KeyDown(Key, KeyChar, Shift);   
  end;

如果只想对某些控件执行该操作,则必须在这些控件的OnKeyDown事件中调用此代码。

请注意,KeyDown必须调用TForm.KeyDown才能使其正常工作。

(用XE2测试)