Delphi XE5 下TEdit控件有个属性:KeyboardType,如下图:
该属性决定了当焦点进入TEdit时,系统弹出的输入窗体,按照其帮助文件说明,不同取值的输入窗体不同,如下图:
根据不同需要选择,也可以在运行期改变取值,通过放置一个TPopupBox控件来进行设置,设计界面如下:
代码如下:
procedure TfrmKeyboard.PopupBox1Change(Sender: TObject); begin case PopupBox1.ItemIndex of 0: Edit1.KeyboardType := FMX.Types.TVirtualKeyboardType.vktDefault; 1: Edit1.KeyboardType := FMX.Types.TVirtualKeyboardType.vktNumbersAndPunctuation; 2: Edit1.KeyboardType := FMX.Types.TVirtualKeyboardType.vktNumberPad; 3: Edit1.KeyboardType := FMX.Types.TVirtualKeyboardType.vktPhonePad; 4: Edit1.KeyboardType := FMX.Types.TVirtualKeyboardType.vktAlphabet; 5: Edit1.KeyboardType := FMX.Types.TVirtualKeyboardType.vktURL; 6: Edit1.KeyboardType := FMX.Types.TVirtualKeyboardType.vktNamePhonePad; 7: Edit1.KeyboardType := FMX.Types.TVirtualKeyboardType.vktEmailAddress; end; end;