Я написал мобильное приложение. У меня есть панель входа, а в правлении есть метка, которая является заполнителем. (электронная почта/пароль)Управление фокусом Delphi
редактирует onclick метод изменения, видимый на этикетках. У меня также есть onkeyboardshow, чтобы изменить положение панели входа. Поэтому, когда пользователь нажимает кнопку tedit, отображается клавиатура, но ярлык не меняется. если я снова нажму titit, заметное изменение ярлыка.
Итак, я добавил код, чтобы изменить ярлык, видимый при открытии клавиатуры.
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.
Ошибка incompitable типы
С каких это функций ['SetFocus'] (http://docwiki.embarcadero.com/Libraries/XE6/en/FMX.Controls.TControl.SetFocus) функция? Вам не хватает «тогда»? Мне все еще интересно, как люди могут отправлять 2 строки кода с двумя ошибками (не принимайте это лично). Не могли бы вы ['edit your question'] (http://stackoverflow.com/posts/26991798/edit) и разместить точный код, который вы используете, а не просто« код »*, пожалуйста? – TLama
@TLama i отредактировал – Dauezevy
Кроме того, идиоматически вы никогда не пишете 'if somebool = True then', вы всегда пишете' if somebool then' –