no me permite relacionar un tipo de cursor a un picture

Iniciado por loquillo7, 13 Septiembre 2006, 20:03 PM

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

loquillo7

buenas foreros, tengo un problema en un formulario estoy creando varios picturebox y a cada uno de ellos estoy relacionando un detrminado tipo de cursor en la propiedad MouseIcon, pero solo me permite relacionar cursores de 32x32 pero en mi aplicacion necesito que el cursor sea de mayor tamaño y cuando agrego por ejemplo cursores de 256x256 me sale memoria insuficiente y eso es en cualuqier pagina como podria relacionar a ese pciture cursores de un tamaño sumamente grandes muchas gracias. :D

loquillo7

haber si puedo explicarme bien, han visto en paint de microsoft el borrador ya ok, cuando se hace un zoom a una grafica y enseguida aplican el borrador mas grande, el cursor cambia a una figura cuadrada de gran tamaño es lo mismo que deseo que el cursor asociado a un picture sea un cuadrado de un gran tamaño hasta quizas mas grande que el de paint, pero cada vez que asocio un *.cur siempre me lo toma con medidas 32x32 y si le asocio un *.cur de 256x256 el programa se me cuelga se me cierra la aplicacion, espero que puiedan ayudarme y cualquier duda me la hacen saber gracias.

loquillo7

si no es posible esto, como puedo reemplazar el cursor por una imagen???

loquillo7

no habra alguien me pueda ayudar, estoy desesperado???

karmany

Pues una cosa que se me ocurre que puedes hacer, es crear un nuevo picture con el icono que tú quieras.
Por ej. picture1 -> icono que quieres
          picture2 -> imagen sobre la que pasa el icono.

Crea un icono 16 x 16 que sea transparente. Después en las propiedades de picture2, pónle ese icono en mouseicon y mousepointer. De este modo el cursor desaparece.

Después en picture2 mientras mueves el cursor dentro de esta imagen, haces que el picture1 aparezca y lo pones en las coordenadas que tú quieras:

Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Y aquí pones el picture1 observando X e Y


Lo acabo de probar y para lo que quieres va bien. El único inconveniente que le veo es que se ralentiza ya que el cursor no aparece hasta no mover el mouse dentro de picture2.




loquillo7

es una buena idea, lo he probado pero para un borrador esta un poquito lento, poruqe  mientras ya borre parte de la imagen el cursor no se desplaza junto con el borrado no habra alguna api que me pemita asociarle cursores de gran tamaño a un picture de 256x256 existirá??????????

karmany

Lo acabo de probar y va perfercto...
En vez de utilizar picture utiliza image.. La image del cursor la he creado después de la del fondo. Ahora no se ralentiza nada..

loquillo7

me puedes pasar el codigo a mi correo :  oriel_gonzales@yahoo.es

Otra cosita:
he visto que cuando el mouse se mueve la image se mueve como si fuera el mouse, como haria para que mientran tenga presionado el boton izquietrdo del mouse tambien se mueva la imagen he probado esto:

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Button = 1 Then
        Image1.Move X - Image1.Width / 2 + 20, Y - Image1.Height / 2 + 25
   End If
End Sub


pero cuando hago esto la image no se mueve cuando no aprieto el boton, quisiera que la imagen se mueva tanto cuando muevo el mouse como cuando tengo presionado el boton izquierdo del mouse me he estado rompiendo el coco???
gracias por tu tiempo.

karmany

El código que estoy haciendo es muy sencillo..

Yo he hecho como antes dos images: image1 el fondo e image2 el cursor.. El código es simplemente este:

Private Sub image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   
    If Button = 1 Then
        image2.Left = X + 900
        image2.Top = Y
    End If
   
End Sub


Lo único que tienes que definir son los límites de X e Y. Y además tienes que tener cuidado de que si pulsas en la imagen del fondo es posible que pulses en el cursor y entonces no se ejecutará el código anterior..
Yo lo veo muy fácil.. no sé dónde tienes la complicación...

loquillo7

quisera mover un image dentro de un picture tanto cuando se mueva el mouse como cuando tenga presionado el boton izquiero del mouse he probado esto:

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.Move X - Image1.Width / 2 + 20, Y - Image1.Height / 2 + 25
End Sub


'**Aqui si se mueve el image cuando muevo el cursor pero no se mueve cuando tengo presionado el boton izquiero del mouse,aca va otro:

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Image1.Visible = True
Image1.Move X - Image1.Width / 2 + 20, Y - Image1.Height / 2 + 25
End If
End Sub

'**Aqui si se mueve el image cuando tengo presionado el boton izquiero del mouse pero no se mueve cuando muevo el cursor sin apretar nada.

He tratado de juntar los 2 pero siempre funciona solo 1 es posible que puedan funcionar los 2 espero me hayas entendido sino me preguntas gracias.