Access - Averiguar el tipo de objeto

 
Vista:

Averiguar el tipo de objeto

Publicado por Manuel Pedrero (5 intervenciones) el 12/07/2007 10:45:07
A ver si alguien puede ayudarme...

Quiero hacer un procedimiento en un Modulo común y pasarle un objeto de un formulario, para que según el objeto que sea modificar el puntero de ratón al pasar por encima suyo, pero no se como hacerlo, use el siguiente procedimiento, pero no se si es correcto

Public Sub CompModificarMouse(ByVal Objeto As Object)

'No se cual es la herencia de objetos en Access por eso pongo As Object, ¿quizas es As Control?

If Objecto Is CommandButton

'Aqui irian las lineas del cambio del puntero del raton

End If

En Sub

¿Es esto correcto?, ¿alguien podria decirme como hacerlo?, ¿como hago despues la llamada al procedimiento?

El procedimiento lo creo para poder ser usado en cualquier formulario...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Averiguar el tipo de objeto

Publicado por josep (8 intervenciones) el 12/07/2007 15:19:01
Creo que seria mucho más facil de la siguiente forma.
Para determinar cuando pasa el mouse por encima, utiliza el evento MouseMove
dentro de este evento, asigna un valor a una variable pública, y seguidamente llamas a la funcion que contendra dicha variable ( CambioPuntero(variable)).

El resto creo que ya es facil, solo tienes que utilizar un select case dentro de la funcion y en cada case, dale la forma que deseqas al puntero.

No sé si te servirá, es muy rudimentario, pero sencillo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Averiguar el tipo de objeto

Publicado por The Emulator (146 intervenciones) el 12/07/2007 15:19:35
Hola

Pues asi como lo planteas esta casi que bien.

La variable Objeto tiene que ser de tipo Control

'***************************** Codigo procedimiento ******************************
Public Sub CompModificarMouse(ByVal MiControl As Control)

If TypeOf MiControl Is TextBox Then
'Cambiar aqui icono caja de texto
End If

If TypeOf MiControl Is CheckBox Then
'Cambiar aqui icono casilla verificacion
End If

If TypeOf MiControl Is CommandButton Then
'Cambiar aqui icono boton
End If

If TypeOf MiControl Is ListBox Then
'Cambiar aqui icono boton
End If

If TypeOf MiControl Is ComboBox Then
'Cambiar aqui icono boton
End If

If TypeOf MiControl Is OptionButton Then
'Cambiar aqui icono boton
End If

End Sub
'*************************** Fin Codigo procedimiento ****************************


Ahora para que se llame el procedimiento deberias programar los eventos MouseMove de cada control que quieras cambiar el icono.

Por ejemplo para un boton

Private Sub Comando0_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
CompModificarMouse Comando0 'Paso como parametro el nombre del control
End Sub

Tambies debes programar el evento MouseMove del formulario/Detallle para que restaure el icono ya que si pasas el mouse por encima de un boton por ejemplo y luego lo pasas por enciama del formulario seguiria estando el icono del boton y no cambiaria hasta que pases por encima de otro control.

Y si colocas el procedimiento en un modulo puedes llamarlo desde cualquier formulario.

Saludos
http://www.theemulator.tk
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar