Delphi焦点控制
我写了一个移动应用程序。 我有一个登录面板和一个标签,这是一个占位符。(电子邮件/密码) 编辑onclick方法更改标签的可见项。我也有onkeyboardshow来改变登录面板的位置。所以当用户点击tedit时,键盘会显示出来,但标签的可视性不会改变。如果我再次单击tedit,标签的可见更改 所以我添加了一些代码来更改显示键盘时标签的可视性Delphi焦点控制,delphi,Delphi,我写了一个移动应用程序。 我有一个登录面板和一个标签,这是一个占位符。(电子邮件/密码) 编辑onclick方法更改标签的可见项。我也有onkeyboardshow来改变登录面板的位置。所以当用户点击tedit时,键盘会显示出来,但标签的可视性不会改变。如果我再次单击tedit,标签的可见更改 所以我添加了一些代码来更改显示键盘时标签的可视性 procedure TformReg.FormVirtualKeyboardShown(Sender: TObject; KeyboardVi
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 xe6
错误为不可压缩类型您的代码应该是:
label1.Visible := edit1.Focused;
您无法测试某个控件是否为“SetFocus”,因为SetFocus是一个实际聚焦某个控件的过程,所以您需要测试该控件是否聚焦。因为什么时候是函数?那你是不是错过了
?这仍然让我想知道,人们怎么能发布两行有两个错误的代码(不要把它当成个人问题)。请你把你使用的确切代码写出来,而不仅仅是“一些代码”好吗?另外,习惯用法是,如果somebool=True那么你从不写,如果somebool=True那么你总是写,如果somebool那么你就写