我写了一个移动的应用程序。我有一个登录面板和编辑有一个标签,这是一个占位符。(电子邮件/密码)
编辑onclick方法改变标签的可见性。我也有onkeyboardshow来改变登录面板的位置。所以当用户点击tedit时,键盘显示,但标签的可见性没有改变。如果我再次点击tedit,标签的可见性改变。
所以我添加了一些代码来改变标签在键盘显示时的可见性。
procedure TformReg.FormVirtualKeyboardShown(Sender: TObject;
KeyboardVisible: Boolean; const Bounds: TRect);
begin
Rectangle1.Align:= TAlignLayout.Top;
Rectangle1.Margins.Left:= Trunc((screenW-362)/2);
Rectangle1.Margins.Right:= Trunc((screenW-362)/2);
if email.SetFocus = true then
lblEmail.Visible:= false
else
lblPassword.Visible:= false;
end;
但这段代码不工作,我必须了解编辑的重点。我使用的是 Delphi firemonkey xe 6。
错误是不兼容的类型
1条答案
按热度按时间jaql4c8m1#
你的代码应该是这样的:
你不能测试某个东西是否是“SetFocus”,因为SetFocus是一个实际上聚焦一些控件的过程,所以你需要测试控件是否是FOCUSED。