El Arte De Crear Lo Nuevo
 
ÍndiceCalendarioGaleríaFAQBuscarMiembrosGrupos de UsuariosRegistrarseConectarse
Ultra-Cheats Anuncio

Comparte | 
 

 [Taller] Hacer scroll de un gráfico

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
ViRuS-DoKtOr
Administrator
Administrator
avatar

Posts : 85
UC Reputacion : 226
Agradecimientos : 6
Fecha de inscripción : 01/06/2009
Edad : 22
Localización : Venezuela

MensajeTema: [Taller] Hacer scroll de un gráfico   Lun Jun 15, 2009 4:57 pm

Hacer scroll de un gráfico

Ejemplo que hace un Scroll de un gráfico utilizando la función PaintPicture de vb, para desplazar una imagen que es superior en alto y ancho a las dimensiones de un Picturebox



El Scroll en este ejemplo no se hace con controles scrollBar, si no que se utilizan unos CommandButton, y se redibuja la imagen con PaintPicture hasta llegar al límite, aunque los botones son opcionales y se podría usar cualquier otra cosa



Para modificar el valor de desplazamiento de la imagen, es decir la velocidad, hay que modificar la variable Avance.



Colcocar en un formulario

un control PictureBox llamado Picture1 y cargarle un gráfico grande.
Colocar cuatro CommandButton en un arreglo de controles:


Command1(0) para mover a la izquierda, Command1(1) para mover la imagen hacia arriba, Command1(2) para la derecha y Command1(3) para desplazar el gráfico hacia abajo.



Código fuente en un formulario:

Citación :
Option Explicit

'Variables

'Posiciones x y para utilizarn PaintPicture
Private Pos_x As Long
Private Pos_y As Long

'variables para almacenar el ancho y Alto de la imagen a cargar _
en el control PictureBox
Private Ancho_Pic As Single
Private Alto_Pic As Single

'Indica si estamos pulsando el mouse en el Command
Private Mouse_Abajo As Boolean
'Para variar el desplazamiento
Private Avance As Single


Private Sub Combo1_Click()
Avance = CSng(Combo1)
End Sub

Private Sub Command1_MouseDown( _
Index As Integer, _
Button As Integer, _
Shift As Integer, _
X As Single, Y As Single)

'Coloca el Flag en True
Mouse_Abajo = True

Select Case Index
Case 0
'Desplaza la imagen hacia la derecha
While Pos_x > 0 And Mouse_Abajo
Pos_x = Pos_x - Avance
Picture1.PaintPicture Picture1.Picture, 0, 0, , , _
Pos_x, Pos_y, Picture1.ScaleWidth, _
Picture1.ScaleHeight

DoEvents
Wend

Case 1
'Desplaza la imagen hacia arriba
While Pos_y < (Alto_Pic - Picture1.ScaleHeight) And Mouse_Abajo

Pos_y = Pos_y + Avance
Picture1.PaintPicture Picture1.Picture, 0, 0, , , Pos_x, Pos_y, _
Picture1.ScaleWidth, Picture1.ScaleHeight

DoEvents
Wend
'Desplaza la imagen hacia la izquierda
Case 2
While Pos_x < (Ancho_Pic - Picture1.ScaleWidth) And Mouse_Abajo

Pos_x = Pos_x + Avance
Picture1.PaintPicture Picture1.Picture, 0, 0, , , Pos_x, _
Pos_y, ScaleWidth, Picture1.ScaleHeight

DoEvents
Wend
'Desplaza la imagen hacia abajo
Case 3

While Pos_y > 0 And Mouse_Abajo

Pos_y = Pos_y - Avance
Picture1.PaintPicture Picture1.Picture, 0, 0, , , Pos_x, Pos_y, _
Picture1.ScaleWidth, Picture1.ScaleHeight

DoEvents
Wend

End Select

End Sub

Private Sub Command1_MouseUp(Index As Integer, Button As Integer, _
Shift As Integer, X As Single, Y As Single)

' cuando se suelta el mouse en el Command finalizar
Mouse_Abajo = False
End Sub


Private Sub Form_Load()

Dim i As Integer
With Picture1
.ScaleMode = vbTwips
.AutoRedraw = False

'ancho y alto del gráfico cargado en el Picture
Ancho_Pic = CInt(.ScaleX(.Picture.Width, vbHimetric, .ScaleMode))
Alto_Pic = CInt(.ScaleY(.Picture.Height, vbHimetric, .ScaleMode))
End With

' Valor que determina la velocidad de avance
Avance = 10

' El Autosize del Picture no es necesario que esté en Ttue
Picture1.AutoSize = False

For i = 1 To 20
Combo1.AddItem i
Next

End Sub
Volver arriba Ir abajo
Ver perfil de usuario http://ultra-cheats.coolbb.net
 
[Taller] Hacer scroll de un gráfico
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» [Taller] Fabrica de heroes
» La razón de porque no hay que hacer tronar los dedos
» Taller de coches, cosechadoras, TRACTORES AMARILLOS XD... LO QUE SEA para usar en MRO XD
» se va a hacer gpt madrid?
» La iluminación del motor gráfico Frostbite 2, visible en un nuevo vídeo tecnológico

Permisos de este foro:No puedes responder a temas en este foro.
| Ultra-Cheats | 2009 :: Talleres-
Cambiar a: