Autor Tema: picture1.print dblX pinta numeros a la derecha del eje Y,pasarlor a la izquierda  (Leído 4723 veces)

0 Usuarios y 1 Visitante están viendo este tema.

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Al representar se me queda como la siguiente imagen:En un picturebox



Quiero que los numeros del ejeY aparezcan a la izquierda del eje en vez de a la derecha, no se si tengo que añadir algo a picture1.print dblY o sacarlo del for y programarlo de otra forma   , aki abajo dejo el codigo que tengo:

For dblX = 0 To 100 Step 10
Picture1.Line (dblX, 0.001)-(dblX, -0.001)
Picture1.Print dblX
Next dblX

For dblY = 0 To 0.12 Step 0.01
Picture1.Line (-1, dblY)-(1, dblY)
If dblY <> 0 Then
Picture1.Print dblY
End If
Next dblY

Muchas gracias de antemano.Un saludo.

PD: Al ejecutar cuando pasa una ventana por encima(sea formulario, mensaje de error o el googlechrome) del picturebox se me borra todo por dando paso la ventana.....como puedo solucionar eso para que no se borre. Muchas gracias de nuevo.
« última modificación: Noviembre 22, 2014, 02:48:34 pm por rokchlafen »

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:picture1.print dblX pinta numeros a la derecha del eje Y,pasarlor a la izquierda
« Respuesta #1 en: Noviembre 22, 2014, 03:05:50 pm »
PD: Al ejecutar cuando pasa una ventana por encima(sea formulario, mensaje de error o el googlechrome) del picturebox se me borra todo por dando paso la ventana.....como puedo solucionar eso para que no se borre. Muchas gracias de nuevo.

Para que no se borre mas al pasar cualquier ventana encima tenes que poner en la Propiedad del picture AutoRedraw = True
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

AxioUK

  • Megabyte
  • ***
  • Mensajes: 108
  • Reputación: +17/-1
  • Modulos GSL
    • Ver Perfil
Re:picture1.print dblX pinta numeros a la derecha del eje Y,pasarlor a la izquierda
« Respuesta #2 en: Noviembre 23, 2014, 01:56:48 pm »
Una consulta, que ScaleMode usas en tu PictureBox?

en cuanto a tu pregunta, debes indicar al PictureBox el CurrentX desde donde imprimirá el Texto:
Código: (VB) [Seleccionar]
For dblX = 0 To 100 Step 10
Picture1.Line (dblX, 0.001)-(dblX, -0.001)
Picture1.Print dblX
Next dblX

For dblY = 0 To 0.12 Step 0.01
Picture1.Line (-1, dblY)-(1, dblY)
If dblY <> 0 Then
Picture1.CurrentX = 100   ' <--- El valor dependerá del ScaleMode que estés utilizando...
Picture1.Print dblY
End If
Next dblY

PD: Revisa el Form2, te puede dar unas ideas...
https://mega.co.nz/#!ncJU1TqQ!J-luAhIFcj72FebDA8LOGwhZ41Ji2uPZSYChvHwCwj8
« última modificación: Noviembre 23, 2014, 02:16:32 pm por AxioUK »

_____________________________
Sé un poco de todo y mucho de nada... ;)

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:picture1.print dblX pinta numeros a la derecha del eje Y,pasarlor a la izquierda
« Respuesta #3 en: Noviembre 24, 2014, 09:45:48 pm »
Gracias por la respuesta¡¡ 
La escala la uso de esta manera: picture1.scale (-20, 0.15)-(110, -0.02)
no se si te referías a eso. Revisare el form2 que mencionas y aviso por aqui.
De nuevo muchas gracias por todo,estan haciendo un gran trabajo en el foro y a mi me habeis sacado ya de mas de un apuro.
Te dejo el codigo completo del formulario de la grafica.De nuevo muchas gracias y un saludo¡¡¡¡

Option Explicit

Private Sub cmdGraphXY_Click()

Picture1.Cls
Picture1.Scale (-20, 0.15)-(110, -0.02)
Picture1.Line (0, 0)-(0, 0.12), vbWhite '''EJE X
Picture1.Line (0, 0)-(100, 0), vbWhite  '''EJEY

Dim dblX As Double
Dim dblY As Double

''''divisiones ejes
For dblX = 0 To 100 Step 10
Picture1.Line (dblX, 0.001)-(dblX, -0.001)
Picture1.Print dblX
Next dblX

For dblY = 0 To 0.12 Step 0.01
Picture1.Line (-1, dblY)-(1, dblY)
If dblY <> 0 Then
Picture1.Print dblY
End If
Next dblY

For dblX = 0 To 100 Step 10
Dim i As Integer
For i = LBound(nX) To UBound(nX)
Picture1.PSet (nX(i), (0.2 * 50 * (nY(i))) / (1000)), vbRed
Picture1.DrawWidth = 5
Next i
Next dblX
End Sub

AxioUK

  • Megabyte
  • ***
  • Mensajes: 108
  • Reputación: +17/-1
  • Modulos GSL
    • Ver Perfil
Re:picture1.print dblX pinta numeros a la derecha del eje Y,pasarlor a la izquierda
« Respuesta #4 en: Noviembre 24, 2014, 11:10:27 pm »
Estimado rokchlafen:

si indicas Picture1.CurrentX = -7, debiese trasladar los valores a la izquierda del eje Y....
Código: (VB) [Seleccionar]
Option Explicit

Private Sub cmdGraphXY_Click()

Picture1.Cls
Picture1.Scale (-20, 0.15)-(110, -0.02)
Picture1.Line (0, 0)-(0, 0.12), vbWhite '''EJE X
Picture1.Line (0, 0)-(100, 0), vbWhite  '''EJEY

Dim dblX As Double
Dim dblY As Double

''''divisiones ejes
For dblX = 0 To 100 Step 10
  Picture1.Line (dblX, 0.001)-(dblX, -0.001)
  Picture1.Print dblX
Next dblX

For dblY = 0 To 0.12 Step 0.01
  Picture1.Line (-1, dblY)-(1, dblY)
  If dblY <> 0 Then
    Picture1.CurrentX = -7    '<---- Con este valor debiese andar OK!
    Picture1.Print dblY
  End If
Next dblY

For dblX = 0 To 100 Step 10
  Dim i As Integer
  For i = LBound(nX) To UBound(nX)
    Picture1.PSet (nX(i), (0.2 * 50 * (nY(i))) / (1000)), vbRed
    Picture1.DrawWidth = 5
  Next i
Next dblX
End Sub

Saludos Cordiales!
« última modificación: Noviembre 24, 2014, 11:15:32 pm por AxioUK »

_____________________________
Sé un poco de todo y mucho de nada... ;)

rokchlafen

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +0/-0
    • Ver Perfil
Re:picture1.print dblX pinta numeros a la derecha del eje Y,pasarlor a la izquierda
« Respuesta #5 en: Diciembre 08, 2014, 12:14:38 pm »
Genial el currentX, es justo lo que necesitaba. Gracias maquina¡¡¡¡¡¡ :)