VB 6.0 : Merancang Sendiri Tampilan Aplikasi

Seringkali dalam membuat aplikasi dalam lingkungan Visual Basic, kita sudah disuguhkan dengan bentuk jendela dengan tampilan yang sama. Bagaimana kalau kita ingin membuat bentuk tampilan jendela sesuai dengan selera kita ? Bisa, karena tutorial kali ini kita akan membuat suatu bentuk jendela dengan TitleBar, tombol Minimize, Maximize dan Exit ala sendiri dan sangat mudah sekaligus sederhana dalam pembuatannya. Sudah tidak sabar ? Kalau begitu kita langsung saja ke langkah yang pertama yaitu,
Buatlah form untuk merancang tampilan jendela aplikasi seperti terlihat pada gambar 1. Kontrol-kontrol yang ditambahkan pada form tersebut adalah :
- 1 buah Label
- 5 buah PictureBox
Ubahlah properti-properti dari kontrol-kontrol tersebut seperti tertera pada tabel 1.
Kontrol
Properti
Nilai
Label1 BackStyle 0 - Transparent
(Name) lblTitle
Caption Jendela buatanku
ForeColor &H00FFFFFF&
Picture1 BackColor &H000080FF&
BorderStyle 0 - None
Width 6735
Height 375
(Name) PicTitleBar
Picture2 BackColor &H00008000&
BorderStyle 0 - None
Width 255
Height 255
(Name) PicMinimize
ToolTipText Minimize
Picture3 BackColor &H00800000&
BorderStyle 0 - None
Width 255
Height 255
(Name) PicMaximize
ToolTipText Maximize
Picture4 BackColor &H00000080&
BorderStyle 0 - None
Width 255
Height 255
(Name) PicExit
ToolTipText Exit
Picture5 BackColor &H000080FF&
BorderStyle 0 - None
Width 6735
Height 135
(Name) PicFootBar
Form1 Caption JENDELA BUATANKU
BorderStyle 0 - None
ShowInTaskbar True
StartUpPosition 2 - CenterScreen
Width 6720
Height 4440
Tabel 1.
Sebagai keterangan, kotak-kotak kecil  berwarna pada Form masing-masing memiliki fungsi yang berbeda. Kotak berwarna hijau akan diberi fungsi Minimize jendela, sebaliknya kotak berwarna biru akan kita beri fungsi Maximize jendela , dan kemudian kotak berwarna merah sebagai fungsi untuk menutup jendela atau exit.  Sebagaimana jendela aplikasi pada umumnya, jendela harus mudah dipindah-pindah yang bisanya mendrag bagian TitleBar.
Maka pada PicTitleBar, kita akan memasukkan kode program yang dapat menggeser jendela seperti yang tertera pada Listing 1. Sekarang buat Module dan kemudian isi dengan kode program pada Listing 2 untuk mendeklarasikan fungsi yang dibutuhkan untuk mendrag jendela. Pada Listing 3 terdapat kode program untuk PicMinimize supaya ketika kita klik kotak warna hijau , tampilan jendela dalam keadaan minimize. Sekarang bagaimana mengatur tampilan menjadi Maximize ? Isi kode program pada PicMaximize dan PicTitleBar seperti yang terlihat pada Listing 4 .
Untuk mengaktifkan Maximize kita perlu mengatur lebar dan tinggi jendela baik dalam keadaan normal atau maximize seperti pada Listing 5. Ukuran-ukuran yang ada pada Listing 5 hanya berlaku bila jendela yang kita buat berada pada layar monitor yang berresolusi 1024x768 pixel. Di luar resolusi itu hasil tampilan jendela akan terlihat berantakan. Maka jika itu terjadi, kita dapat menyesuaikannya dengan mengatur kembali  nilai lebar dan tinggi jendela aplikasi yang kita buat.
Seperti kode program yang tertera pada Listing 5, kita mengatur agar saat jendela dalam keadaan normal, ToolTip pada PicMaximize menampilkan tulisan ”Maximize”. Saat tampilan dalam keadaan Maximize, ToolTip menampilkan tulisan ”Restore Down”.   Langkah yang terakhir, pada PicExit kita memasukkan kode program yang berfungsi menutup aplikasi seperti yang tertera pada Listing 6. Supaya tampilan lebih menarik lagi, kita juga dapat mengimpor gambar pada setiap kontrol PictureBox.  Tutorial berikutnya kita akan mencoba memeberikan efek trasparan pada jendela aplikasi yang kita buat. Selamat mencoba !!!

Listing 1
PLAIN TEXT
CODE:
  1. Private Sub PicTitleBar_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  2. ‘Jika tampilan dalam keadaan Maximize, Jendela tidak akan pernah dapat digeser-geser
  3. If  Me.WindowState <> 2 Then
  4. GeserJendela Me
  5. End If
  6. End Sub
Listing 2
PLAIN TEXT
CODE:
  1. Public  Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
  2. (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lparam _
  3. As Any) As Long
  4. Declare Sub ReleaseCapture Lib "user32" ()
  5.  
  6. Public Sub GeserJendela(TheForm As Form)
  7. ReleaseCapture
  8. Call SendMessage(TheForm.hWnd, &HA1, 2, 0&)
  9. End Sub
Listing 3
CODE:
  1. Private Sub PicMinimize_Click()
  2. Me.WindowState = 1
  3. Me.PicMinimize.BackColor = &H8000&
  4. End Sub
Listing 4
PLAIN TEXT
CODE:
  1. Private Sub PicMaximize_Click()
  2. AksiMaximize
  3. Me.PicMaximize.BackColor = &H800000
  4. End Sub
  5.  
  6. Private Sub PicTitleBar_DblClick()
  7. AksiMaximize
  8. End Sub
  9.  
  10. Private Sub lblTitle_DblClick()
  11. AksiMaximize
  12. End Sub
  13.  
  14. Private Sub lblTitle_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  15. geser
  16. End Sub
Listing 5
PLAIN TEXT
CODE:
  1. Sub AksiMaximize()
  2. If  Me.WindowState = 2 Then
  3. Me.WindowState = 0
  4. Me.PicMinimize.Left = 5640
  5. Me.PicMaximize.Left = 6000
  6. Me.PicExit.Left = 6360
  7. Me.PicMaximize.ToolTipText = "Maximize"
  8. Me.PicFootBar.Top = 4320
  9. Else
  10. Me.WindowState = 2
  11. Me.PicTitleBar.Width = 15400
  12. Me.PicMinimize.Left = 14200
  13. Me.PicMaximize.Left = 14600
  14. Me.PicExit.Left = 15000
  15. Me.PicMaximize.ToolTipText = "Restore Down"
  16. Me.PicFootBar.Width = 16000
  17. Me.PicFootBar.Top = 11400
  18. End If
  19. End Sub
Listing 6
PLAIN TEXT
CODE:
  1. Private Sub PicTitleBar_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  2. Me.PicExit.BackColor = &H80&
  3. Me.PicMaximize.BackColor = &H800000
  4. Me.PicMinimize.BackColor = &H8000&
  5. End Sub
  6.  
  7. Private Sub PicMaximize_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  8. Me.PicMaximize.BackColor = &HFF0000
  9. End Sub
  10.  
  11. Private Sub PicMinimize_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  12. Me.PicMinimize.BackColor = &HFF00&
  13. End Sub
Listing 7
PLAIN TEXT
CODE:
  1. Private Sub PicExit_Click()
  2. End
  3. End Sub

0 comments:

Post a Comment

Popular Posts