Jika Anda pernah menggunakan "Kingsoft PowerWord" atau "Orient Express", Anda pasti akan tertarik dengan subtitle yang bergulir di jendela "Tentang" mereka. Faktanya, fungsi ini dapat dengan mudah direalisasikan menggunakan kontrol Timer di Delphi.
1. Ide desain
Pertama, letakkan kontrol Panel pada formulir dan letakkan teks yang perlu ditampilkan di kontrol Panel. Kemudian, melalui kontrol Timer, posisi kontrol Panel dapat terus diubah dalam interval tertentu untuk mencapai efek bergulir subtitle.
2. Metode pelaksanaan
1. Buat form baru dan atur propertinya sebagai berikut:
Nama:frmTentang1
Gulir Otomatis: Salah
2. Tempatkan kontrol Panel pada formulir, nama defaultnya adalah Panel1, dan atur propertinya sebagai berikut:
BevelOuter:bvNone
Keterangan: (diatur ke kosong)
Sesuaikan tinggi dan lebar Panel1 agar menjadi strip vertikal. Tingginya tergantung pada konten yang akan ditampilkan (bisa lebih besar dari tinggi formulir).
3. Tempatkan kontrol Label pada Panel1 untuk menampilkan teks. Tentu saja, Anda juga dapat menempatkan kontrol Gambar di atasnya untuk menampilkan gambar, namun ukuran gambar tidak boleh terlalu besar, jika tidak maka akan mempengaruhi efek tampilan.
4. Tempatkan kontrol Timer pada formulir, nama defaultnya adalah Timer1, atur nilai properti Interval menjadi 50, dan masukkan kode berikut dalam event OnTimer:
jika Panel1.top>-Panel1.height lalu
Panel1.top:=Panel1.top-1
kalau tidak
Panel1.top:=frmAbout1.height-35;
{Tentukan apakah Panel1 telah berpindah ke bagian atas formulir. Jika belum, pindahkan ke atas satu piksel; jika demikian, pindahkan Panel1 ke bagian bawah formulir dan tampilkan subtitle dalam satu lingkaran}
5. Tempatkan kontrol Tombol pada formulir, atur properti Caption ke "OK", dan masukkan kode berikut di event OnClick:
tutup;{Tutup formulir}
3. Meningkatkan analisis
Di atas adalah proses penerapan sederhana dalam menggulirkan subtitle, namun masih ada satu area yang memerlukan perbaikan lebih lanjut: jika formulir menggunakan gambar sebagai latar belakang, kontrol Panel akan memblokir sebagian dari pola latar belakang. Faktanya, untuk mengatasi masalah ini, kita tidak dapat menggunakan kontrol Panel sama sekali, tetapi langsung menempatkan kontrol Label pada formulir, mengatur nilai properti Transparan dari kontrol Label ke True, dan kemudian langsung mengontrol kontrol Label ini melalui Timer kendali gerakan. Karena keterbatasan tempat, penulis tidak akan menguraikannya secara detail di sini.