Rabu, 17 Februari 2021

FMX Slide TabControl

File > New > Multi Device Application - Delphi > Blank Aplication Click Ok,
lalu pada Tool Palette cari TabConntrol lalu tmbkan ke Form1. Atur Align dari TabControl1 menjadi Client. Kemudian tambahkan TabItem degan cara click kanan TabControl1 lalu click Add TTabItem lakukan beberapakai. Kemudian tambahka ke form1 ActnList dan GestureManager, sama caraya seperti menambahkan TabControl.

Dowble click ActionList1 kemudian click Ctrl + Insert atau click New Standard action, lalu pilih Tab > TChangeTabActio, sebanyak 2. Tutup editting Form action.

Pada panel Structur click TaControl1 keudian pada pael Object Inspector click Touch > GestureManager pilih GestureManager1, dan Gestures > Standard > Left beri tanda checklist pilih action ChangeTabAction1, dan Rightt juga diberi tanda checklist pilih action ChangeTabAction2.
Buat procedure ChangeTabActionUpdate(Sender: TObject);

procedure TForm1.ChangeTabActionUpdate(Sender: TObject);
begin
  if
TabControl1.TabIndex < TabControl1.TabCount -1 then
    ChangeTabAction2.Tab := TabControl1.Tabs[TabControl1.TabIndex + 1]
  else ChangeTabAction2.Tab := nil;

  if TabControl1.TabIndex > 0 then
    ChangeTabAction1.Tab := TabControl1.Tabs[TabControl1.TabIndex - 1]
  else ChangeTabAction1.Tab := nil;
end;

Buat procedure FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
begin
  if
Key = vkHardwareBack then begin
    if
TabControl1.TabIndex > 0 then begin
      TabControl1.TabIndex := TabControl1.TabIndex - 1 mod TabControl1.TabCount;
      Key := 0;
    end;
  end;
end;

Selautnya buat procedure FormCreate(Sender: TObject);

procedure TFormm1.FormCreate(Sender: TObject);
begin
  TabControl1.ActiveTab := TabItem1;
  TabControl1.TabPosition := TTabPosition.None ;
  ChangeTabAction1.OnUpdate := ChangeTabActionUpdate;
  ChangeTabAction1.Tab := nil;
  ChangeTabAction2.OnUpdate := ChangeTabActionUpdate;
  ChangeTabAction2.Tab := TabControl1.Tabs[TabControl1.TabIndex + 1] ;
end;

  ....
uses
  ....,
  FMX.TabControl,
  System.Actions, FMX.ActnList,
  FMX.Gestures,
  .... ;
type
  TFormm1 = class(TForm)
    TabControl1: TTabControl;
    TabItem1: TTabItem;
    TabItem2: TTabItem;
    TabItem3: TTabItem;
    TabItem4: TTabItem;
    ActionList1: TActionList;
    GestureManager1: TGestureManager;
    ChangeTabAction1: TChangeTabAction;
    ChangeTabAction2: TChangeTabAction;
    procedure ChangeTabActionUpdate(Sender: TObject);
    procedure FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
    procedure FormCreate(Sender: TObject);

Semoga bermanfaat,

Tidak ada komentar:

Posting Komentar

Baru Tayang