![]() |
![]() |
Trik : Untuk membuat gambar yang dapat bergeser anda perlu menanamkan sebuah kontrol image, kontrol VscrollBar dan HScrollBar diatas sebuah kontrol Picture. Jadi dalam hal ini kontrol Picture bertindak sebagai kontainer.
Kontrol | Properti | Value |
Picture1 | Name | picBingkai |
Image1 | Name | imgGambar |
HScroll1 | Name | HScroll |
VScroll1 | Name | VScroll |
Membuat Sub StatusBingkai yang berfungsi membuat ukuran Picturebox sama dengan ukuran Form sebelah dalam (ScaleWidth, ScaleHeight) dengan menggunakan Metoda Move. Dan membuat kontrol imgGambar rapat kiri atas terhadap kontainernya (0,0)
Private Sub StatusBingkai() PicBingkai.Move 0 , 0, Me.ScaleWidth , Me.ScaleHeight ImgGambar.Move 0, 0 End Sub
Membuat Sub AturScrollBar yang berfungsi menentukan keaktifan tampilan dari VScroll dan HScroll. Adapun syarat penampilan dari kedua kontrol tersebut adalah :
HScroll, jika ukuran lebar gambar (imgGambar.Width) > ukuran tinggi bingkai (PicPingkai.Width)
VScroll, jika ukuran tinggi gambar (imgGambar.Height) > ukuran tinggi bingkai (PicPingkai.Height)
Private Sub AturScrollBar() If ImgGambar.Width > PicBingkai.ScaleWidth Then 'Jika gambar lebih lebar dari pada bingkai HScroll.Visible = True 'aktifkan horizontal scrollbar Else HScroll.Visible = False End If If ImgGambar.Height > PicBingkai.ScaleHeight Then VScroll.Visible = True Else VScroll.Visible = False End If End Sub
Membuat Sub StatusHScroll yang berfungsi mengatur penempatan HScroll pada picturebox (Left dan Top) dan ukuran dari HScroll (Width), serta Min, Max, SmallChange dan LargeChange.
Private Sub StatusHScroll() If ImgGambar.Width > PicBingkai.ScaleWidth Then HScroll.Left = 0 HScroll.Top = PicBingkai.ScaleHeight - HScroll.Height If ImgGambar.Height > PicBingkai.ScaleHeight Then HScroll.Width = PicBingkai.ScaleWidth - VScroll.Width Else HScroll.Width = PicBingkai.ScaleWidth End If HScroll.Min = 0 HScroll.Max = (ImgGambar.Width - HScroll.Width) - 1 HScroll.SmallChange = HScroll.Max \ 50 HScroll.LargeChange = HScroll.Max \ 10 End If End Sub
Membuat Sub StatusVScroll
Private Sub StatusVScroll() If ImgGambar.Height > PicBingkai.ScaleHeight Then VScroll.Top = 0 VScroll.Left = PicBingkai.ScaleWidth - VScroll.Width If ImgGambar.Width > PicBingkai.ScaleWidth Then VScroll.Height = PicBingkai.ScaleHeight - HScroll.Height Else VScroll.Height = PicBingkai.ScaleHeight End If VScroll.Min = 0 VScroll.Max = (ImgGambar.Height - VScroll.Height) - 1 VScroll.SmallChange = VScroll.Max \ 50 VScroll.LargeChange = VScroll.Max \ 10 End If End Sub
Melakukan Koding terhadap Event Change pada VScroll dan HScroll, yang berfungsi mengatur Top dan Left dari imgGambar terhadap kontainernya, dimana adalah jika pemakai melakukan geser kebawah, maka imgGambar perlu digeser keatas ( -VScroll.Value), dan jika pemakai melakukan geser kekanan, maka imgGambar perlu digeser kekiri (-HScroll.Value)
Private Sub VScroll_Change() ImgGambar.Top = -VScroll.Value 'Berlawanan arah End SubPrivate Sub HScroll_Change() ImgGambar.Left = -HScroll.Value 'Berlawanan arah End Sub
Melakukan koding terhadap Event Form Resize
Private Sub Form_Resize() Call StatusBingkai Call AturScrollBar Call StatusVScroll Call StatusHScroll End Sub
Untuk melakukan percobaan terhadap project ini anda perlu menentukan gambar yang berukuran besar pada imgGambar.