Fórum comandos basicos firemonkey #455054
12/09/2013
0
boa tarde, comecei estudar o firemonkey a pouco e nao estou conseguindo fazer os comandos basicos do delphi hehehehe segue minhas duvidas.
como setar o taborder dos objetos?
como passar o foco para o proximo componente (eu usava o selectNext)?
como deixar todas as letras do edit maiusculas?
como acionar o clik do botao via codigo (usava botao.clik)?
se poderem me ajudar agradeco
como setar o taborder dos objetos?
como passar o foco para o proximo componente (eu usava o selectNext)?
como deixar todas as letras do edit maiusculas?
como acionar o clik do botao via codigo (usava botao.clik)?
se poderem me ajudar agradeco
Daniel Thomaz
Curtir tópico
+ 0
Responder
Posts
19/08/2015
Francis Silva
Eu criei um Class Helper para a classe TControl do Firemonkey para realizar a navegação entre os controles utilizando a TabOrder:
Para utilizar o helper Inclua a unit MyTabOrderClassHelper na cláusula USES na seção INTERFACE.
Exemplo básico de utilização:
Testado com sucesso na versão XE7 em diante. Não testei nas versões anteriores, quem obtiver sucesso em versões anteriores por favor informe aqui para conhecimento de todos.
unit MyTabOrderClassHelper;
interfaces
uses
System, FMX.Types, FMX.Controls;
type
TFMXControlClassHelper = class helper for TControl
public
procedure SelectNext(CurControl: TControl; GoFoward: Boolean);
end;
implementation
procedure TFMXControlClassHelper.SelectNext(CurControl: TControl; GoFoward: Boolean);
var
tablist : ITabList;
next : IControl;
parente, controle: TControl;
begin
controle := CurControl;
parente := controle.ParentControl;
repeat
tablist := parente.GetTabList;
next := tablist.FindNextTabStop(controle, GoFoward, True);
if (not Assigned(next)) or (TControl(next) = controle) then
begin
controle := parente;
parente := parente.ParentControl;
end
else
Break;
until parente = nil;
if (Assigned(next)) then
controle := TControl(next)
else
controle := nil;
if (Assigned(controle)) then
controle.SetFocus;
end;
end.
Para utilizar o helper Inclua a unit MyTabOrderClassHelper na cláusula USES na seção INTERFACE.
Exemplo básico de utilização:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
var
ControleAtivo: IControl;
begin
ControleAtivo:= Screen.FocusControl;
case Key of
vkReturn:
TControl(Self).SelectNext(TControl(ControleAtivo), True);
vkTab:
TControl(Self).SelectNext(TControl(ControleAtivo), (not (ssShift in Shift)));
end;
end;
Testado com sucesso na versão XE7 em diante. Não testei nas versões anteriores, quem obtiver sucesso em versões anteriores por favor informe aqui para conhecimento de todos.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)