¿Sabeis comopuedo obtener que control ha llamado a un metodo?
Quiero hacer una ayuda que se comporte distinta si la llama odbedit1 ,
odbedit2, .....
Gracias
Paco V
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.
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.
Nombre de control
Nombre de control
Paco,
> ¿Sabeis comopuedo obtener que control ha llamado a un metodo?
>
> Quiero hacer una ayuda que se comporte distinta si la llama odbedit1 ,
> odbedit2, .....
METHOD DbEdit1KeyDown( oSender, nKey, nFlags )
IF nKey == VK_F1
IF oSender == ::oDbEdit1
//...
ELSEIF oSender == ::oDbEdit2
//...
ENDIF
RETURN 0
ENDIF
RETURN Nil
--
Un saludo,
José F. Giménez
> ¿Sabeis comopuedo obtener que control ha llamado a un metodo?
>
> Quiero hacer una ayuda que se comporte distinta si la llama odbedit1 ,
> odbedit2, .....
METHOD DbEdit1KeyDown( oSender, nKey, nFlags )
IF nKey == VK_F1
IF oSender == ::oDbEdit1
//...
ELSEIF oSender == ::oDbEdit2
//...
ENDIF
RETURN 0
ENDIF
RETURN Nil
--
Un saludo,
José F. Giménez
Nombre de control
Muchas Gracias.
Un saludo.
Paco V
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:432e8e92$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Paco,
>
>> ¿Sabeis comopuedo obtener que control ha llamado a un metodo?
>>
>> Quiero hacer una ayuda que se comporte distinta si la llama odbedit1 ,
>> odbedit2, .....
>
> METHOD DbEdit1KeyDown( oSender, nKey, nFlags )
>
> IF nKey == VK_F1
> IF oSender == ::oDbEdit1
> //...
> ELSEIF oSender == ::oDbEdit2
> //...
> ENDIF
> RETURN 0
> ENDIF
>
> RETURN Nil
>
>
> --
> Un saludo,
>
> José F. Giménez
>
Un saludo.
Paco V
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:432e8e92$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Paco,
>
>> ¿Sabeis comopuedo obtener que control ha llamado a un metodo?
>>
>> Quiero hacer una ayuda que se comporte distinta si la llama odbedit1 ,
>> odbedit2, .....
>
> METHOD DbEdit1KeyDown( oSender, nKey, nFlags )
>
> IF nKey == VK_F1
> IF oSender == ::oDbEdit1
> //...
> ELSEIF oSender == ::oDbEdit2
> //...
> ENDIF
> RETURN 0
> ENDIF
>
> RETURN Nil
>
>
> --
> Un saludo,
>
> José F. Giménez
>
Nombre de control
Jose
Hago esto en un TMaskEdit...
METHOD xEditsKeyDown( oSender, nKey, nFlags ) CLASS TFrmAltaOR
If nKey = VK_ESCAPE
::FormInitialize( oSender )
Return 0
ElseIf nKey = VK_RETURN //.and. oSender == ::oEditVehicle
MsgInfo( oSender )
EndIf
RETURN Nil
MsgInfo( oSender )
A mi me devuelve { TMASKEDIT }, que es el nombre de la Clase, pero no puedo determinar QUE TMaskEdit és el que lanza el evento.
¿Es un Bug???
Gracias.
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje news:432e8e92$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Paco,
>
>> ¿Sabeis comopuedo obtener que control ha llamado a un metodo?
>>
>> Quiero hacer una ayuda que se comporte distinta si la llama odbedit1 ,
>> odbedit2, .....
>
> METHOD DbEdit1KeyDown( oSender, nKey, nFlags )
>
> IF nKey == VK_F1
> IF oSender == ::oDbEdit1
> //...
> ELSEIF oSender == ::oDbEdit2
> //...
> ENDIF
> RETURN 0
> ENDIF
>
> RETURN Nil
>
>
> --
> Un saludo,
>
> José F. Giménez
>
>
>
--
Hago esto en un TMaskEdit...
METHOD xEditsKeyDown( oSender, nKey, nFlags ) CLASS TFrmAltaOR
If nKey = VK_ESCAPE
::FormInitialize( oSender )
Return 0
ElseIf nKey = VK_RETURN //.and. oSender == ::oEditVehicle
MsgInfo( oSender )
EndIf
RETURN Nil
MsgInfo( oSender )
A mi me devuelve { TMASKEDIT }, que es el nombre de la Clase, pero no puedo determinar QUE TMaskEdit és el que lanza el evento.
¿Es un Bug???
Gracias.
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje news:432e8e92$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Paco,
>
>> ¿Sabeis comopuedo obtener que control ha llamado a un metodo?
>>
>> Quiero hacer una ayuda que se comporte distinta si la llama odbedit1 ,
>> odbedit2, .....
>
> METHOD DbEdit1KeyDown( oSender, nKey, nFlags )
>
> IF nKey == VK_F1
> IF oSender == ::oDbEdit1
> //...
> ELSEIF oSender == ::oDbEdit2
> //...
> ENDIF
> RETURN 0
> ENDIF
>
> RETURN Nil
>
>
> --
> Un saludo,
>
> José F. Giménez
>
>
>
--
Nombre de control
Xevi,
MsgInfo( oSender )
A mi me devuelve { TMASKEDIT }, que es el nombre de la Clase, pero no puedo determinar QUE TMaskEdit és el que lanza el evento.
¿Es un Bug???
No, no es un bug. Es simplemente que te está devolviendo el nombre del tipo de dato; en este caso es un objeto de tipo TMaskEdit.
No se puede mostrar con un MsgInfo() directamente el objeto, pero sí alguna propiedad (cText, Handle, etc.); y me temo que cVarName NO es una propiedad de los controles. Aunque esté en el IDE y aparezca en el inspector de propiedades, después no está presente en el GUI.
Lo que sí se puede hacer es comparar directamente dos objetos. P.ej. puedes comparar oSender y ::oEditVehicle para determinar si ha sido ese control el que ha disparado el evento:
IF oSender == ::oEditVehicle
...
--
Un saludo,
José F. Giménez
--
MsgInfo( oSender )
A mi me devuelve { TMASKEDIT }, que es el nombre de la Clase, pero no puedo determinar QUE TMaskEdit és el que lanza el evento.
¿Es un Bug???
No, no es un bug. Es simplemente que te está devolviendo el nombre del tipo de dato; en este caso es un objeto de tipo TMaskEdit.
No se puede mostrar con un MsgInfo() directamente el objeto, pero sí alguna propiedad (cText, Handle, etc.); y me temo que cVarName NO es una propiedad de los controles. Aunque esté en el IDE y aparezca en el inspector de propiedades, después no está presente en el GUI.
Lo que sí se puede hacer es comparar directamente dos objetos. P.ej. puedes comparar oSender y ::oEditVehicle para determinar si ha sido ese control el que ha disparado el evento:
IF oSender == ::oEditVehicle
...
--
Un saludo,
José F. Giménez
--