トップへ(mam-mam.net/)

TTabControl(FMX)でタブ表示 ~Delphiソースコード集

検索:

TTabControl(FMX)でタブ表示 ~Delphiソースコード集

プロジェクトを作成する

Delphiを起動し、メニューから「ファイル」⇒「新規作成」⇒「マルチデバイスアプリケーション -Delphi」をクリックする。

空のアプリケーションを選択して[OK]ボタンをクリックする

画面設計

TTabContolをフォームにドラッグ&ドロップします。

TabControl1のAlignプロパティをClientに設定します。(親のクライアント領域いっぱいにサイズ変更されます)

デザインウィンドウ上の「TabControl1」を右クリックして「項目エディタ」をクリックします。

「項目の追加」ボタンを3回クリックしてタブを3つ追加します。
(TabIem1、TabIem2、TabIem3の3つ)
右上の「×」ボタンをクリックして「項目エディタ」ウィンドウを閉じます。



デザインウィンドウ上の「TabItem1」をクリックしてタブを切り替えたら、TButtonをドラッグ&ドロップします。

デザインウィンドウ上の「TabItem2」をクリックしてタブを切り替えたら、TButtonを2つドラッグ&ドロップします。

デザインウィンドウ上の「TabItem3」をクリックしてタブを切り替えたら、TButtonをドラッグ&ドロップします。

ソースコードを記述する

「TabItem1」をクリックしてタブを切り替え、「Button1」をダブルクリックしてソースコードを記述します。
procedure TForm1.Button1Click(Sender: TObject);
begin
  //Button1をクリックしたら次のタブにスライドして切り替える
  TabControl1.Next(TTabTransition.Slide,TTabTransitionDirection.Normal);
end;


キーボードの「F12」を押して、デザインウィンドウに切り替えます。
「TabItem2」をクリックしてタブを切り替え、「Button2」をダブルクリックしてソースコードを記述します。
procedure TForm1.Button2Click(Sender: TObject);
begin
  //Button2をクリックしたら前のタブにスライドして切り替える
  Tabcontrol1.Previous(TTabTransition.Slide,TTabTransitionDirection.Normal);
end;


キーボードの「F12」を押して、デザインウィンドウに切り替えます。
「Button3」をダブルクリックしてソースコードを記述します。
procedure TForm1.Button3Click(Sender: TObject);
begin
  //Button3をクリックしたら次のタブにスライドして切り替える
  Tabcontrol1.Next(TTabTransition.Slide,TTabTransitionDirection.Normal);
end;


キーボードの「F12」を押して、デザインウィンドウに切り替えます。
「TabItem3」をクリックしてタブを切り替え、「Button4」をダブルクリックしてソースコードを記述します。
procedure TForm1.Button4Click(Sender: TObject);
begin
  //Button4をクリックしたら前のタブにスライドして切り替える
  TabControl1.Previous(TTabTransition.Slide,TTabTransitionDirection.Normal);
end;



ソースコード全体は以下となります。
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  FMX.Controls.Presentation, FMX.StdCtrls, FMX.TabControl;

type
  TForm1 = class(TForm)
    TabControl1: TTabControl;
    TabItem1: TTabItem;
    TabItem2: TTabItem;
    TabItem3: TTabItem;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { private 宣言 }
  public
    { public 宣言 }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
begin
  //Button1をクリックしたら次のタブにスライドして切り替える
  TabControl1.Next(TTabTransition.Slide,TTabTransitionDirection.Normal);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  //Button2をクリックしたら前のタブにスライドして切り替える
  Tabcontrol1.Previous(TTabTransition.Slide,TTabTransitionDirection.Normal);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  //Button3をクリックしたら次のタブにスライドして切り替える
  Tabcontrol1.Next(TTabTransition.Slide,TTabTransitionDirection.Normal);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  //Button4をクリックしたら前のタブにスライドして切り替える
  TabControl1.Previous(TTabTransition.Slide,TTabTransitionDirection.Normal);
end;

end.

キーボードの「F12」を押して、デザインウィンドウに切り替え、「TabItem1」をクリックしてタブを切り替えます。

実行する

メニューから「実行」⇒「実行」をクリックすると、コンパイルと実行が行われます。

Button1をクリックするとスライドしてTabItem2に切り替わります。Button2をクリックするとスライドしてTabItem1に切り替わります。
タブを非表示にしたい場合は、TabControl1の「TabPosition」プロパティを[None]に設定します。