【问题标题】:Shifting the focus from one component to another in mobile using Delphi XE8使用 Delphi XE8 在移动设备中将焦点从一个组件转移到另一个组件
【发布时间】:2015-08-28 11:43:27
【问题描述】:
我正在使用 Delphi XE8 开发 Android 移动应用程序,请帮助我进行以下实现。
在一个表单中,我有 3 个组件,它们的顺序如下
1. TEdit (edtValue1), 2. TEdit (edtValue2), 3. TComboBox (cbxValue1)
当我打开表格时:
edtValue.SetFocus;
我的疑问是在 edtValue1 中输入了一些值后,如何通过在 Android 手机的 KeyPad 中按 Enter 键将焦点转移到 edtValue2。此外,如果我需要在 edtValue2 之后将焦点转移到 cbxValue1,那么我该如何处理呢?请帮助我。提前致谢。
【问题讨论】:
标签:
delphi
firemonkey
delphi-xe7
delphi-xe8
firemonkey-style
【解决方案1】:
这是一个代码,适用于您提到的控件:
procedure TForm1.FormCreate(Sender: TObject);
begin
edtValue1.SetFocus;
end;
procedure TForm1.edtValue1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
Shift: TShiftState);
begin
if Key = 13 then
edtValue2.SetFocus;
end;
procedure TForm1.edtValue2KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
Shift: TShiftState);
begin
MouseDown(TMouseButton.mbLeft, [], cbxValue1.AbsoluteRect.CenterPoint.X, cbxValue1.AbsoluteRect.CenterPoint.Y);
end;
可能有点作弊,但它有很好的线索可供探索。