Tampilkan Beberapa Form Di Satu Form

Tulisan ini adalah reply untuk komentar dari Harum Anjani (deg degan nih, tulis namanya) yang berkaitan dengan beberapa form yang ditampilkan pada form utama.
Form, melalui komponen TFrame (D6 ke atas, untuk D5 kaga’ tau, belum pernah pake’), dapat ditampilkan di form lain. Namun kurang fleksibel. Di sini saya menggunakan TPanel (bisa juga komponen lain, asalkan dapat menampung child window, seperti TScrollBox, TGroupBox, TTPageControl, dll) agar lebih fleksibel dan dapat disesuaikan dengan kebutuhan saat runtime nantinya.

Agar singkat, saya tulis langkah-langkahnya saja:

  • Buat Aplikasi baru (File>New>Application)
  • Tambahkan beberapa form (File>New>Form)
    Otomatis, Form pertama adalah Form1, form kedua adalah Form2, dst. Fom1 nantinya akan menjadi form utama.
  • Pada Form1, tambahkan beberapa Button sebanyak jumlah Form selain Form1.
  • Pada klause Uses (setelah klausa implementation) tambahkan Unit2 (untuk form2), dst. Contohnya:
    implementationUses Unit4, Unit3, Unit2;{$R *.DFM}
  • Tambahkan juga sebuah Panel ke Form1. Panel ini akan menampung Form lainnya.
  • Klik ganda Button1 pada Form1 dan masukkan kode seperti berikut:
    procedure TForm1.Button1Click(Sender: TObject);begin   Form2.parent:=Panel1;
    
    Form2.BorderStyle:=bsNone;
    
    Form2.width:=panel1.width;
    
    Form2.height:=Panel1.Height;
    
    Form2.Top:=0;
    
    Form2.left:=0;
    
    Form2.visible:=true;
    
    end;
  • Lanjutkan kode Onclick Button2 untuk Form3, dst.

Setelah semua selesai, jalankan aplikasi. Berikut adalah sebuah snapshot dari aplikasi demo yang dapat didownload pada bagian akhir tulisan ini:
scrsht.jpg
Download

Source Code ( setelah download, ubah ekstensi ke .zip)
Demo Exe (ubah eks. ke .zip, scan dulu sebelum dijalankan)

google_tags: jokorb, Tpanel, Form, Multiple Forms

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s