Você está na página 1de 9

Tutorial: Criando meu app step-by-step - Botões de Hardware http://portal.tdevrocks.com.br/2014/12/15/tutorial-criando-meu-app-step-...

1 de 9 03/04/2018 16:59
Tutorial: Criando meu app step-by-step - Botões de Hardware http://portal.tdevrocks.com.br/2014/12/15/tutorial-criando-meu-app-step-...

2 de 9 03/04/2018 16:59
Tutorial: Criando meu app step-by-step - Botões de Hardware http://portal.tdevrocks.com.br/2014/12/15/tutorial-criando-meu-app-step-...

3 de 9 03/04/2018 16:59
Tutorial: Criando meu app step-by-step - Botões de Hardware http://portal.tdevrocks.com.br/2014/12/15/tutorial-criando-meu-app-step-...

1 ?
2 var
3 FService : IFMXVirtualKeyboardService;
4
5 begin
6
end;

4 de 9 03/04/2018 16:59
Tutorial: Criando meu app step-by-step - Botões de Hardware http://portal.tdevrocks.com.br/2014/12/15/tutorial-criando-meu-app-step-...

1 ?
{Recebe o estado do teclado virtual}

1 ?
2 if Key - vkHardwareBAck then
//Codificação

5 de 9 03/04/2018 16:59
Tutorial: Criando meu app step-by-step - Botões de Hardware http://portal.tdevrocks.com.br/2014/12/15/tutorial-criando-meu-app-step-...

1 ?
2 procedure TfrmMain.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
3 Shift: TShiftState);
4 var
5 FService : IFMXVirtualKeyboardService;
6
7 begin
8 {Recebe o estado do teclado virtual}
9 TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(
10 {Se o botão back pressionado e o teclado virtual ativo, não faz nada}
11 if Key = vkHardwareBack then
12 begin
13 if (FService <> nil) and (TVirtualKeyboardState.Visible in FService.VirtualKeyBoardStat
14 begin
15 //Reservado, não faz nada
16 end
17 else
18 begin
19 {Verifica qual formulário está ativo e então chama o método Voltar}
20 {Se NÃO estiver com a listagem de pedidos aberta}
21 {$Region 'Menu'}
22 if MultiView1.IsShowed then
23 begin
24 MultiView1.HideMaster;
25 Key := 0;
26 end
27 {$EndRegion}
28
29 {$Region 'Titulos'}
30 else if (FTitulos.lytTitulos.Visible) and not (FTitulos.tabctrlTitulos.ActiveTab = FT
31 FTitulos.PressionouVoltar
32 else if (FTitulos.lytTitulos.Visible) and (FTitulos.tabctrlTitulos.ActiveTab = FTitul
33 begin
34 MessageDlg('Deseja sair do aplicativo?', TMsgDlgType.mtConfirmation,
35 [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0,
36 procedure (const AResult: TModalResult)
37 begin
38 if AResult = mrYes then
39 begin
40 {$IFDEF ANDROID}
41 MainActivity.finish;
42 {$ELSE}
43 exit;
44 {$ENDIF}
45 end;
46 end
47 );
48 end
49 {$EndRegion}
50
51 {$Region 'Preferências'}
52 else if (Assigned(FPreferencias)) then
53 begin
54 MessageDlg('Deseja sair do aplicativo?', TMsgDlgType.mtConfirmation,
55 [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0,
56 procedure (const AResult: TModalResult)
57 begin
58 if AResult = mrYes then
59 begin
60 {$IFDEF ANDROID}
61 MainActivity.finish;
62 {$ELSE}
exit;

6 de 9 03/04/2018 16:59
Tutorial: Criando meu app step-by-step - Botões de Hardware http://portal.tdevrocks.com.br/2014/12/15/tutorial-criando-meu-app-step-...

63 {$ENDIF}
64 end;
65 end
66 );
67 end;
68 {$EndRegion}
69
70 Key := 0;
71 end;
72 end
73 {Botão Menu do Android}
74 else if Key = vkMenu then
75 begin
76 if (FService <> nil) and (TVirtualKeyboardState.Visible in FService.VirtualKeyBoardStat
77 begin
78 //Reservado, não faz nada
79 end
80 {O menu está sendo mostrado, apenas fecha o menu}
81 else
82 begin
83 if MultiView1.IsShowed then
84 HideBackground
85 {Verifica se o Pedidos está sendo mostrado e não está na lista de pedidos, para então
86 else if (FTitulos.lytTitulos.Visible) then
87 FTitulos.PressionouMenu;
88
89 Key := 0;
90 end;
91 end;
92
93 end;

1 ?
2 procedure TfrmTitulos.PressionouVoltar;
3 begin
4 if tabctrlTitulos.ActiveTab = tbitemDetalhes then
5 tabctrlTitulos.Previous();
end;

7 de 9 03/04/2018 16:59
Tutorial: Criando meu app step-by-step - Botões de Hardware http://portal.tdevrocks.com.br/2014/12/15/tutorial-criando-meu-app-step-...

1 ?
2 procedure TfrmTitulos.PressionouMenu;
3 begin
4 if (tabctrlTitulos.ActiveTab = tbitemLisTitulos) then
5 frmMain.MultiView1.ShowMaster
6 else if (tabctrlTitulos.ActiveTab = tbitemLisTitulos) and (DM.qryTitulos.State in
7 imgFotoClick(imgFoto);
end;

8 de 9 03/04/2018 16:59
Tutorial: Criando meu app step-by-step - Botões de Hardware http://portal.tdevrocks.com.br/2014/12/15/tutorial-criando-meu-app-step-...

9 de 9 03/04/2018 16:59