Can I Set Inputtype To "textcapsentences" Delphi Xe5
Solution 1:
The textCapSentences
Corresponds to the TYPE_TEXT_FLAG_CAP_SENTENCES
constant which is part of the TextView
Android Class. This class is wrapped by the Androidapi.JNI.Widget.JTextView
interface but this is not used directly by the Firemonkey TEdit controls, instead Firemonkey uses a proxy class called JFMXTextEditorProxy
. so in theory you must access the proxy class linked to the EditControl to set the value TYPE_TEXT_FLAG_CAP_SENTENCES
using the setEnterAction
method. unfortunately the instance to this proxy class is encapsuled in the TTextServiceAndroid
class which is defined in the implementation part of the FMX.Platform.Android
unit, so can't be accessed. So the only option which come to my mind is use the OnKeyDown
event like :
This will Capitalize the first letter of the EditText and any after a space character.
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char;
Shift: TShiftState);
begin
if (TEdit(Sender).Text.Length=0) or ((TEdit(Sender).Text.Length>0) and TEdit(Sender).Text.EndsWith(' ')) then
KeyChar:=UpCase(KeyChar);
end;
Post a Comment for "Can I Set Inputtype To "textcapsentences" Delphi Xe5"