PDA

View Full Version : picture scrolling



aley
سه شنبه 18 بهمن 1384, 11:33 صبح
چگونه میتوانم یک تصویر را با اسکرول بار پیمایش کنم؟

saina2006
سه شنبه 18 بهمن 1384, 12:45 عصر
با استفاده از این کد می تونی

Private Sub Form_Load()

' Set ScaleMode to pixels.
Form1.ScaleMode = vbPixels
Picture1.ScaleMode = vbPixels

' Autosize is set to True so that the boundaries of
' Picture2 are expanded to the size of the actual
' bitmap.
Picture2.AutoSize = True

' Set the BorderStyle of each picture box to None.
Picture1.BorderStyle = 0
Picture2.BorderStyle = 0

' Load the bitmap.
Picture2.Picture = _
LoadPicture("c:\Windows\Winlogo.gif")

' Initialize location of both pictures.
Picture1.Move 0, 0, ScaleWidth - VScroll1.Width, _
ScaleHeight - HScroll1.Height
Picture2.Move 0, 0

' Position the horizontal scroll bar.
HScroll1.Top = Picture1.Height
HScroll1.Left = 0
HScroll1.Width = Picture1.Width

' Position the vertical scroll bar.
VScroll1.Top = 0
VScroll1.Left = Picture1.Width
VScroll1.Height = Picture1.Height

' Set the Max property for the scroll bars.
HScroll1.Max = Picture2.Width - Picture1.Width
VScroll1.Max = Picture2.Height - Picture1.Height

' Determine if the child picture will fill up the
' screen.
' If so, there is no need to use scroll bars.
VScroll1.Visible = (Picture1.Height < _
Picture2.Height)
HScroll1.Visible = (Picture1.Width < _
Picture2.Width)

End Sub

Private Sub HScroll1_Change()
Picture2.Left = -HScroll1.Value
End Sub

Private Sub VScroll1_Change()
Picture2.Top = -VScroll1.Value
End Sub

Private Sub Form_Resize()
' When the form is resized, change the Picture1
' dimensions.
Picture1.Height = Form1.Height
Picture1.Width = Form1.Width

' Reinitialize the picture and scroll bar
' positions.
Picture1.Move 0, 0, ScaleWidth - VScroll1.Width, _
ScaleHeight - HScroll1.Height
Picture2.Move 0, 0
HScroll1.Top = Picture1.Height
HScroll1.Left = 0
HScroll1.Width = Picture1.Width
VScroll1.Top = 0
VScroll1.Left = Picture1.Width
VScroll1.Height = Picture1.Height
HScroll1.Max = Picture2.Width - Picture1.Width
VScroll1.Max = Picture2.Height - Picture1.Width

' Check to see if scroll bars are needed.
VScroll1.Visible = (Picture1.Height < _
Picture2.Height)
HScroll1.Visible = (Picture1.Width < _
Picture2.Width)

End Sub