Dos dudillas

Iniciado por ToNy_EsP, 12 Julio 2009, 14:20 PM

0 Miembros y 4 Visitantes están viendo este tema.

ToNy_EsP

Buenas a todos, antes de todo, gracias de antemano  :D,

Bueno, iré directo al grano:

1ª pregunta:

Tengo una imágen (Image1), quiero saber qué código poner para que cuando el ratón pase por encima de esa imágen la Image1 pase a ser otra (Image2), pero que cuando el ratón deje de estar encima de la Image2 pues se cambie de nuevo a la Image 1.

Un ejemplo es, los botones cerrar, minimizar y maximizar de una ventana del navegador por ejemplo, cuando pones el ratoón por encima cambia de imágen.

2ª pregunta:

He leído muchísimo sobre relaciones de base de datos (SQL) con Visual Basic. Pero aún así no llegué a nada  :-(

Pues lo que querría hacer es lo siguiente: Tengo un Form (Form1), en ese form hay dos textbox, un commandbutton, un label y un Image. Pus quiero hacer que al pulsar en ese Commandbutton (command1) se revise en una base de datos SQL (por ejemplo una que tengo que se llama blabla_db1) el usuario y contraseña introducidos, y ponga en el Label (label1) si el usuario/ contraseña fue aceptada o fueron erróneas y, finalmente, si fueron aceptadas el usuario/ contraseña, que la Image1 pase de Enabled = False a Enabled = True.

Ya sé, ya sé. Es difícil, busqué en el foro y en todos lados, encontré cosillas sobre relaciones de bases de datos SQL con VB pero la verdad, me sirvieron de poco  :-(.

Bueno, eso es todo, muchas gracias de antemano  :D.

Un saludo

*Si pasas mucho tiempo pensando sobre una cosa, terminarás por no hacerla (Bruce Lee).

h0oke

La propiedad MouseMove te permite controlar ese tipo de eventos.
Luego unicamente, con lo siguiente:

Image1.Picture=LoadImage(path1 or path2)

Eso bastará.

Con respecto a bd's no entiendo que no te queda claro, es cuestión de práctica.

Un saludo

ToNy_EsP

Disculpa mi ignorancia, pero no encuentro la propiedad MouseMove... Uso el VB 6.

Y, ¿Este código dónde iría, en un timer? :

Código (vb) [Seleccionar]

Image1.Picture=LoadImage(path1 or path2)


Y respecto a las Bd´s, es cuestión de práctica, es verdad  :P, pero es que llevo 1 mes intentándolo y aún no lo conseguí, por eso a ver si me podríais hechar una mano  :D.

Un saludo y gracias

*Si pasas mucho tiempo pensando sobre una cosa, terminarás por no hacerla (Bruce Lee).

& eDu &

Código (vb) [Seleccionar]
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.Picture=LoadImage(path1 or path2)
End Sub

ToNy_EsP

Cita de: & eDu & en 12 Julio 2009, 17:37 PM
Código (vb) [Seleccionar]
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.Picture=LoadImage(path1 or path2)
End Sub


Gracias  :P.

Código (vb) [Seleccionar]

Private Sub Image2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.Picture = LoadImage(App.Path & "\cerrar.gif" Or App.Path & "\cerrariluminado.gif")
End Sub


Ese es el código que he puesto (ya creé la carpeta con images y todo eso... ahí no está el error.

Al iniciar el programa y pasar el cursor por encima de la Imagen 2 me da un error: "Sub or fuction not defined" o algo así... Y el error me lo marca en: LoadImage.

¿Qué hay que declarar alguna función o algo?.

Muchas gracias

*Si pasas mucho tiempo pensando sobre una cosa, terminarás por no hacerla (Bruce Lee).

seba123neo

Hola, es que no es LoadImage es LoadPicture  :P

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

ToNy_EsP

Cita de: seba123neo en 12 Julio 2009, 18:32 PM
Hola, es que no es LoadImage es LoadPicture  :P

saludos.

Haha, ya no me aparece el error ese, pero me aparece otro  :xD.

Run-Time Error '13':
Type mismatch


Y el código es éste:

Código (vb) [Seleccionar]

Private Sub Image2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.Picture = LoadPicture(App.Path & "\images\cerrar.gif" Or App.Path & "\images\cerrariluminado.gif")
End Sub


Y como ya dije, todo el project está guardado en una carpeta y dentro de esa carpeta hay otra que se llama "images" que dentro de esa es donde se encuentran las imágenes .GIF.

Un saludo y gracias nuevamente

*Si pasas mucho tiempo pensando sobre una cosa, terminarás por no hacerla (Bruce Lee).

BlackZeroX

#7
Usa las APIS:

Código (Vb) [Seleccionar]

Public Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long
Public Declare Function GetWindowRect Lib "user32" Alias "GetWindowRect" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Declare Function IntersectRect Lib "user32.dll" (ByRef lpDestRect As RECT, ByRef lpSrc1Rect As RECT, ByRef lpSrc2Rect As RECT) As Long


GetCursorPos para detectar el movimiento y posicion del mouse.
GetWindowsRect para saber el "Rect" del boton u otro control
IntersectRect para detectar la colición del "Rect" del mouse con el del control y saber SI REALMENTE Canbiar la Imagen.

Es algo lavoriosa pero eficaz xP, es la que mas me gusta, pero creo que hay otras formas pero como dije usando estas nunca falla xP

Por cierto si usas Mouse Move gasta el procesador y esta continuamente usando el procesador xS y no creo que eso quieras verdad xP.¡!
The Dark Shadow is my passion.

h0oke

Unicamente puse ese código de ejemplo, como demostración de lo que se podía hacer, solo fue un pseudo-vb ^^.

Un saludo

byway

Código (vb) [Seleccionar]


Private Sub Form_Load()
Image2.Picture = LoadPicture(App.Path & "\images\cerrar.gif")
End Sub

Private Sub Image2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.Picture = LoadPicture(App.Path & "\images\cerrariluminado.gif")
End Sub