In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Tipo de control

Foro público de Xailer en español
Responder
perolero
Mensajes: 135
Registrado: Mar Dic 21, 2010 9:54 am

Tipo de control

Mensaje por perolero »

Hola:
Necesito saber que tipo de control tiene el foco en un momento dado en un formulario. La idea es al estar trabajando con un formulario y pulsar p.e. la tecla F8 reconocer el tipo de control
si pulso F8 con el foco sobre una imagen
SetKey(119, , {|| msginfo(Self:oActiveControl)})
me devuelve {TImage}
pero yo lo que quiero es poder preguntarle, si es una imagen haz tal cosa, si es un boton haz tal otra, y esto es lo que no se como hacer.
Un saludo,
Emilio Gil.
Roberto
Mensajes: 177
Registrado: Mar Oct 16, 2007 11:53 pm

Tipo de control

Mensaje por Roberto »

try this:
SetKey(119, , { || myActiveControl(Self:oActiveControl) })

FUNCTION myActiveControl(oControl)
WITH OBJECT oControl
DO CASE
CASE :IsKindOf("TImage")
MsgInfo("es imagen, haz tal cosa")
CASE :IsKindOf("TButton")
MsgInfo("es un boton, haz tal otra")
OTHERWISE
MsgInfo("es otro")
ENDCASE
END OBJECT
RETURN NIL
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Tipo de control

Mensaje por jfgimenez »

Emilio,
> Necesito saber que tipo de control tiene el foco en un
> momento dado en un formulario. La idea es al estar
> trabajando con un formulario y pulsar p.e. la tecla F8
> reconocer el tipo de control
>
> si pulso F8 con el foco sobre una imagen
>
> SetKey(119, , {|| msginfo(Self:oActiveControl)})
>
> me devuelve {TImage}
>
> pero yo lo que quiero es poder preguntarle, si es una imagen
> haz tal cosa, si es un boton haz tal otra, y esto es lo que
> no se como hacer.
IF ::oActiveControl:IsKindOf( "TImage" )
...
ELSEIF ::oActiveControl:IsKindOf( "TButton" )
...
....
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
perolero
Mensajes: 135
Registrado: Mar Dic 21, 2010 9:54 am

Tipo de control

Mensaje por perolero »

Mucjas gracias Jose.
Un saludo,
Emilio Gil.
Responder