Download

5/27/2012

Form Cantik Dengan Delphi



Akhir-akhir ini perkembangan perangkat lunak melaju dengan pesatnya. Meskipun perkembangannya
tidak sebanding dengan perangkat keras, perkembangan software ini patut kita acungi jempol. Seiring
dengan berjalannya waktu, banyak perusahaan software yang muncul dan tenggelam. Muncul akibat
dorongan serta semangat dan tenggelam karena tidak kuat dalam persaingan. Bisnis software memang
cukup menjanjikan utamanya karena pasar yang begitu luas. Namun pasar yang luas tersebut
terkadang malah menjadi bumerang karena kita harus bersaing dengan perusahaan asing yang
notabene dalam hal modal dan sumber daya manusia mereka lebih unggul.
Selain aplikasi yang kita bangun memiliki keunggulan dalam hal teknologi, maka hendaknya aplikasi
tersebut juga memiliki design interface yang bagus disebabkan kita selalu berhubungan dengan
konsumen yang notabene sebagian besar konsumen di negara kita masih menganggap bahwa
tampilan merupakan salah faktor yang cukup penting sebagai pertimbangan dalam membeli
perangkat lunak.
Bagi anda yang sudah sering bergelut dengan pemrograman tentu tidak asing dengan apa yang
dinamakan form. Form merupakan bingkai dasar dari sebuah aplikasi yang umumnya berbasis GUI
(Graphic User Interface). Form standar atau form tradisionil umumnya berbentuk kotak. Bagi
seseorang yang dinamis dan berjiwa seni tinggi tentu akan bosan dengan design form seperti ini.
Salah satu cara untuk memodifikasi bentuk form adalah dengan menggunakan region. Fungsi HRGN
atau region dapat memodifikasi bentuk form menjadi model roundrect, rectangular, elliptical,
polygonal dan sejenisnya berikut kombinasi bentuk-bentuk dasar tersebut (combinergn).
Setelah lama bergelut dengan region, saya menemui kendala yaitu akan cukup sulit menggunakan
region bila bentuk form yang akan kita buat tidak sama dengan bentuk dasar ataupun kombinasi dari
region. Selain itu waktu yang dibutuhkan juga cukup lama. Lalu saya memutuskan untuk mencari
komponen yang dapat merubah form standar. Setelah mencari kemana-mana akhirnya saya
menemukan komponen dxfShapedForm, bagian dari ExpressForumLibrary(tm) Componen Suite
yang dikembangkan oleh Developer Express Inc. Jika anda membeli paket original Delphi maka anda
akan menemukan komponen ini pada cd Delphi Companion Tools.
Melihat contoh yang disertakan saya langsung tercengang. Ternyata membuat form yang cantik dapat
dilakukan dengan mudah dan cepat. Kita tinggal menempatkan komponen pada form, meload gambar,
mengaktifkan komponen dan form cantik dapat segera digunakan. Akhirnya saya berfikir lagi
bagaimana kalau digunakan komponen standar Delphi saja agar program menjadi lebih ringan. Dari

sinilah trik ini ditemukan.
Oke, langsung saja kita mulai step by step membuat form cantik ini:
1. Buka Delphi anda dan buatlah projek baru (standar EXE). Langkah ini dapat diakses melalui
File > New > Application
2. Tambahkan komponen image pada form. Komponen ini terletak pada tab Additional.
Gambar yang akan anda tambahkan ini nantinya akan menjadi background sekaligus bentuk
dari form. Agar gambar bisa transparan pada form, anda dapat membuat gambar dengan
format .gif transparan atau .bmp dengan warna background khusus (background harus
berwarna #FF00FF)
3. Klik ganda pada komponen image sehingga akan membuka kotak dialog seperti ditunjukkan
pada gambar
Gambar 1. Load gambar
Klik tombol Load untuk mengambil gambar
4. Sesudah gambar diload, klik sekali lagi komponen image untuk mengaktifkannya. Pada
properties di object inspector untuk komponen image, ubah nilai Transparent ke true.
Langkah ini mengakibatkan gambar menjadi transparan. Jika gambar anda tidak menjadi
transparan, berarti gambar yang anda gunakan masih salah. Perbaiki dulu gambar anda baru
ikuti langkah selanjutnya
5. Klik nama form di Object Tree View untuk mengaktifkan form. Pada Properties di Object
Inspector untuk komponen form ini ubah nilai BorderStyle menjadi bsNone. Coba run projek
anda dengan menekan F9. Tampak bahwa form tidak memiliki border, namun form asli
masih tampak, hal ini terlihat dari adanya background dibelakang image.
6. Hal yang akan kita lakukan adalah membuat transparan background dari form. Dalam
mentransparankan background form ini terdapat tiga nilai dari properties yang harus kita
ubah yaitu Color, TransparentColor, TransparentColorValue. Ubah nilai Color dan
TransparentColorValue dengan nilai yang sama misal clBlack. Set nilai TransparentColor
dengan true. Hasilnya ditunjukkan pada gambar dibawah

bar 2. Form transparan pada saat dirun
Tampak bahwa background pada form menjadi transparan sehingga bentuk daripada form
selalu mengikuti bentuk gambar yang kita buat. Namun, apakah pekerjaan kita sudah
selesai? Ternyata belum karena form tersebut tidak dapat didrag seperti form pada umumnya.
Pada langkah ke 7 kita akan mengatasi hal ini
7. Agar form yang kita buat dapat didrag tambahkan potongan kode berikut:
procedure WMNCHitTest(var msg : TWMNCHitTest);message
WM_NCHitTest;
Letakkan definisi prosedur diatas pada bagian type, dapat juga diletakkan pada bagian
deklarasi private atau deklarasi public tergantung dari kebutuhan. Jika anda ingin
menggunakan prosedur tersebut pada unit lain maka letakkan pada deklarasi public, pun
sebaliknya.
Pada bagian implementasi tambahkan kode berikut:
procedure TForm1.WMNCHitTest(var msg : TWMNCHitTest);
begin
inherited;
if (msg.Result = htClient) then
if Msg.YPos < Top + 40 then
msg.Result := htCaption;
end;
Ada 2 hal yang harus anda perhatikan ketika menambahkan kode diatas. Hal tersebut
ditunjukkan dengan teks warna merah. Form1 menunjukkan nama form. Jika nama form
anda misalnya frmPetunjuk maka ubah Form1 menjadi frmPetunjuk. Kedua yaitu nilai
40. Nilai ini menunjukkan jarak dari form bagian atas yang dapat didrag. Semakin besar
nilai ini maka bagian dari form yang dapat didrag semakin besar
Form diatas adalah form modifikasi sehingga anda harus menambahkan beberapa even dan
komponen yang pada umumnya sudah terdapat pada form biasa semisal close, maximize, minimize
dan sebagainya. Anda dapat juga menambahkan komponen semisal button untuk menjalankan
even-even tersebut.

Gambar 3. Form yang ditambah komponen lain
Sebenarnya anda dapat juga menggunakan skin untuk membuat form cantik ini. Namun saya tidak
menyarankan penggunaan skin ini. Selain program menjadi berat diakibatkan oleh penggunaan
komponen tambahan bisa itu berupa librari atau ocx (ActiveX), kompabilitas dengan komponen
standar Delphi juga menjadi kendala. Bukankah lebih baik memodifikasi sesuatu yang standar
daripada harus menggunakan suatu fitur embeded !?

0 komentar:

Post a Comment

Newer Post Older Post Home
Aulia DirUt. Powered by Blogger.
 

Followers

 

Templates by Nano Yulianto | CSS3 by David Walsh | Powered by {N}Code & Blogger