En objetos como TImage, TLabel
hecho en falta el evento OnClick, y veo que no está activado, pero si que
internamente dispone la clase de dicho evento, me explico...
en el inspector de objetos no está incluido, y si lo utilizo desde programa
en FormInitialize
::oLblExe:OnClick := {|| MsgInfo( "Clic en un Label" ) }
::oImage1:OnClick := {|| MsgInfo( "Clic en una Imagen" ) }
No tienen ningún efecto, pero sin embargo no lanza ningún error de método no
existente.
En mi modesta opinión, creo que SI deberían de disponer el evento OnClick,
OnDblClick... y demás clicks TODOS los objetos, el uso que le hagamos, pues
cada uno que lo utilize, o no.
En mi caso, por ejemplo puedo utilizarlo, para que al pinchar en una imagen
(Logo de una empresa), me envie a la web...
Un Saludo,
Xevi.
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.
No veo OnClick en algunos objetos
- ignacio
- Site Admin
- Mensajes: 9447
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
No veo OnClick en algunos objetos
Xevi,
El evento OnClick es un evento especial que normalmente coincide con la
pulsación del botón izquierdo del ratón pero son dos mensajes completamente
distintos.
Hemos incluido OnClick en todos los controles que el API lo tiene definido y
en alguno más que nos parecía razonable, pero no tiene sentido incluirlo en
todos. Creo que los eventos de lButtonDown y lButtonUp son suficientes.
Precisamente no aparecen en el inspector para no confundir a los usuarios
aunque realmente existan en clases ancestras. Podríamos haberles cambiado el
ambito a protected en clases inferiores pero la verdad es que por precaución
no lo hemos hecho. (por si acaso las moscas ... )
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:[email=43174d08@ozsrvnegro.ozlan.local...]43174d08@ozsrvnegro.ozlan.local...[/email]
>
> En objetos como TImage, TLabel
> hecho en falta el evento OnClick, y veo que no está activado, pero si que
> internamente dispone la clase de dicho evento, me explico...
> en el inspector de objetos no está incluido, y si lo utilizo desde
> programa en FormInitialize
> ::oLblExe:OnClick := {|| MsgInfo( "Clic en un Label" ) }
> ::oImage1:OnClick := {|| MsgInfo( "Clic en una Imagen" ) }
>
> No tienen ningún efecto, pero sin embargo no lanza ningún error de método
> no existente.
>
> En mi modesta opinión, creo que SI deberían de disponer el evento OnClick,
> OnDblClick... y demás clicks TODOS los objetos, el uso que le hagamos,
> pues cada uno que lo utilize, o no.
> En mi caso, por ejemplo puedo utilizarlo, para que al pinchar en una
> imagen (Logo de una empresa), me envie a la web...
>
> Un Saludo,
> Xevi.
>
>
El evento OnClick es un evento especial que normalmente coincide con la
pulsación del botón izquierdo del ratón pero son dos mensajes completamente
distintos.
Hemos incluido OnClick en todos los controles que el API lo tiene definido y
en alguno más que nos parecía razonable, pero no tiene sentido incluirlo en
todos. Creo que los eventos de lButtonDown y lButtonUp son suficientes.
Precisamente no aparecen en el inspector para no confundir a los usuarios
aunque realmente existan en clases ancestras. Podríamos haberles cambiado el
ambito a protected en clases inferiores pero la verdad es que por precaución
no lo hemos hecho. (por si acaso las moscas ... )
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:[email=43174d08@ozsrvnegro.ozlan.local...]43174d08@ozsrvnegro.ozlan.local...[/email]
>
> En objetos como TImage, TLabel
> hecho en falta el evento OnClick, y veo que no está activado, pero si que
> internamente dispone la clase de dicho evento, me explico...
> en el inspector de objetos no está incluido, y si lo utilizo desde
> programa en FormInitialize
> ::oLblExe:OnClick := {|| MsgInfo( "Clic en un Label" ) }
> ::oImage1:OnClick := {|| MsgInfo( "Clic en una Imagen" ) }
>
> No tienen ningún efecto, pero sin embargo no lanza ningún error de método
> no existente.
>
> En mi modesta opinión, creo que SI deberían de disponer el evento OnClick,
> OnDblClick... y demás clicks TODOS los objetos, el uso que le hagamos,
> pues cada uno que lo utilize, o no.
> En mi caso, por ejemplo puedo utilizarlo, para que al pinchar en una
> imagen (Logo de una empresa), me envie a la web...
>
> Un Saludo,
> Xevi.
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
No veo OnClick en algunos objetos
Xevi,
> En objetos como TImage, TLabel
> hecho en falta el evento OnClick, y veo que no está activado, pero si que
> internamente dispone la clase de dicho evento, me explico...
> en el inspector de objetos no está incluido, y si lo utilizo desde
> programa en FormInitialize
> ::oLblExe:OnClick := {|| MsgInfo( "Clic en un Label" ) }
> ::oImage1:OnClick := {|| MsgInfo( "Clic en una Imagen" ) }
Están "ocultos" intencionadamente, pero efectívamente existen porque vienen
heredados de clases padres, concretamente de TControl.
> No tienen ningún efecto, pero sin embargo no lanza ningún error de método
> no existente.
Exactamente. No se disparan nunca, y por eso no aparecen en el inspector.
> En mi modesta opinión, creo que SI deberían de disponer el evento OnClick,
> OnDblClick... y demás clicks TODOS los objetos, el uso que le hagamos,
> pues cada uno que lo utilize, o no.
> En mi caso, por ejemplo puedo utilizarlo, para que al pinchar en una
> imagen (Logo de una empresa), me envie a la web...
Puedes utilizar el evento OnLButtonDown. El evento OnClick sólo existe en
algunos controles nativos de windows, y no es exactamente igual que
OnLButtonDown, pero creo que este último te puede servir perfectamente.
--
Un saludo,
José F. Giménez
> En objetos como TImage, TLabel
> hecho en falta el evento OnClick, y veo que no está activado, pero si que
> internamente dispone la clase de dicho evento, me explico...
> en el inspector de objetos no está incluido, y si lo utilizo desde
> programa en FormInitialize
> ::oLblExe:OnClick := {|| MsgInfo( "Clic en un Label" ) }
> ::oImage1:OnClick := {|| MsgInfo( "Clic en una Imagen" ) }
Están "ocultos" intencionadamente, pero efectívamente existen porque vienen
heredados de clases padres, concretamente de TControl.
> No tienen ningún efecto, pero sin embargo no lanza ningún error de método
> no existente.
Exactamente. No se disparan nunca, y por eso no aparecen en el inspector.
> En mi modesta opinión, creo que SI deberían de disponer el evento OnClick,
> OnDblClick... y demás clicks TODOS los objetos, el uso que le hagamos,
> pues cada uno que lo utilize, o no.
> En mi caso, por ejemplo puedo utilizarlo, para que al pinchar en una
> imagen (Logo de una empresa), me envie a la web...
Puedes utilizar el evento OnLButtonDown. El evento OnClick sólo existe en
algunos controles nativos de windows, y no es exactamente igual que
OnLButtonDown, pero creo que este último te puede servir perfectamente.
--
Un saludo,
José F. Giménez
No veo OnClick en algunos objetos
jejeje... si eso ya lo tenía así, pero claro de esa manera tengo que
utilizar dos métodos y una variable, para controlar que se ha pulsado y
soltado en el mismo objeto deseado...
Nada, que si es así, así lo haré...
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:43174f23$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
>> En objetos como TImage, TLabel
>> hecho en falta el evento OnClick, y veo que no está activado, pero si que
>> internamente dispone la clase de dicho evento, me explico...
>> en el inspector de objetos no está incluido, y si lo utilizo desde
>> programa en FormInitialize
>> ::oLblExe:OnClick := {|| MsgInfo( "Clic en un Label" ) }
>> ::oImage1:OnClick := {|| MsgInfo( "Clic en una Imagen" ) }
>
>
> Están "ocultos" intencionadamente, pero efectívamente existen porque
> vienen heredados de clases padres, concretamente de TControl.
>
>
>> No tienen ningún efecto, pero sin embargo no lanza ningún error de método
>> no existente.
>
> Exactamente. No se disparan nunca, y por eso no aparecen en el inspector.
>
>
>> En mi modesta opinión, creo que SI deberían de disponer el evento
>> OnClick, OnDblClick... y demás clicks TODOS los objetos, el uso que le
>> hagamos, pues cada uno que lo utilize, o no.
>> En mi caso, por ejemplo puedo utilizarlo, para que al pinchar en una
>> imagen (Logo de una empresa), me envie a la web...
>
> Puedes utilizar el evento OnLButtonDown. El evento OnClick sólo existe en
> algunos controles nativos de windows, y no es exactamente igual que
> OnLButtonDown, pero creo que este último te puede servir perfectamente.
>
> --
> Un saludo,
>
> José F. Giménez
>
>
utilizar dos métodos y una variable, para controlar que se ha pulsado y
soltado en el mismo objeto deseado...
Nada, que si es así, así lo haré...
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:43174f23$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
>> En objetos como TImage, TLabel
>> hecho en falta el evento OnClick, y veo que no está activado, pero si que
>> internamente dispone la clase de dicho evento, me explico...
>> en el inspector de objetos no está incluido, y si lo utilizo desde
>> programa en FormInitialize
>> ::oLblExe:OnClick := {|| MsgInfo( "Clic en un Label" ) }
>> ::oImage1:OnClick := {|| MsgInfo( "Clic en una Imagen" ) }
>
>
> Están "ocultos" intencionadamente, pero efectívamente existen porque
> vienen heredados de clases padres, concretamente de TControl.
>
>
>> No tienen ningún efecto, pero sin embargo no lanza ningún error de método
>> no existente.
>
> Exactamente. No se disparan nunca, y por eso no aparecen en el inspector.
>
>
>> En mi modesta opinión, creo que SI deberían de disponer el evento
>> OnClick, OnDblClick... y demás clicks TODOS los objetos, el uso que le
>> hagamos, pues cada uno que lo utilize, o no.
>> En mi caso, por ejemplo puedo utilizarlo, para que al pinchar en una
>> imagen (Logo de una empresa), me envie a la web...
>
> Puedes utilizar el evento OnLButtonDown. El evento OnClick sólo existe en
> algunos controles nativos de windows, y no es exactamente igual que
> OnLButtonDown, pero creo que este último te puede servir perfectamente.
>
> --
> Un saludo,
>
> José F. Giménez
>
>
No veo OnClick en algunos objetos
METHOD FormInitialize( oSender ) CLASS Form1
::oImage1:OnLButtonDown := {|| ::lClicImage1 := .T. }
::oImage1:OnLButtonUp := {|| If( ::lClicImage1, MsgInfo( "Clic en una
Imagen" ), ) }
::OnLButtonUp := {|| ::lClicImage1 := .F. }
....
Así funciona perfecto.
Por si a alguien le pueda interesar...
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:43175359$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
>
> jejeje... si eso ya lo tenía así, pero claro de esa manera tengo que
> utilizar dos métodos y una variable, para controlar que se ha pulsado y
> soltado en el mismo objeto deseado...
>
> Nada, que si es así, así lo haré...
>
> Un Saludo,
> Xevi.
>
>
> "Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
> news:43174f23$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>
>> Xevi,
>>
>>> En objetos como TImage, TLabel
>>> hecho en falta el evento OnClick, y veo que no está activado, pero si
>>> que internamente dispone la clase de dicho evento, me explico...
>>> en el inspector de objetos no está incluido, y si lo utilizo desde
>>> programa en FormInitialize
>>> ::oLblExe:OnClick := {|| MsgInfo( "Clic en un Label" ) }
>>> ::oImage1:OnClick := {|| MsgInfo( "Clic en una Imagen" ) }
>>
>>
>> Están "ocultos" intencionadamente, pero efectívamente existen porque
>> vienen heredados de clases padres, concretamente de TControl.
>>
>>
>>> No tienen ningún efecto, pero sin embargo no lanza ningún error de
>>> método no existente.
>>
>> Exactamente. No se disparan nunca, y por eso no aparecen en el inspector.
>>
>>
>>> En mi modesta opinión, creo que SI deberían de disponer el evento
>>> OnClick, OnDblClick... y demás clicks TODOS los objetos, el uso que le
>>> hagamos, pues cada uno que lo utilize, o no.
>>> En mi caso, por ejemplo puedo utilizarlo, para que al pinchar en una
>>> imagen (Logo de una empresa), me envie a la web...
>>
>> Puedes utilizar el evento OnLButtonDown. El evento OnClick sólo existe en
>> algunos controles nativos de windows, y no es exactamente igual que
>> OnLButtonDown, pero creo que este último te puede servir perfectamente.
>>
>> --
>> Un saludo,
>>
>> José F. Giménez
>>
>>
>
>
>
>
::oImage1:OnLButtonDown := {|| ::lClicImage1 := .T. }
::oImage1:OnLButtonUp := {|| If( ::lClicImage1, MsgInfo( "Clic en una
Imagen" ), ) }
::OnLButtonUp := {|| ::lClicImage1 := .F. }
....
Así funciona perfecto.
Por si a alguien le pueda interesar...
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:43175359$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
>
> jejeje... si eso ya lo tenía así, pero claro de esa manera tengo que
> utilizar dos métodos y una variable, para controlar que se ha pulsado y
> soltado en el mismo objeto deseado...
>
> Nada, que si es así, así lo haré...
>
> Un Saludo,
> Xevi.
>
>
> "Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
> news:43174f23$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>
>> Xevi,
>>
>>> En objetos como TImage, TLabel
>>> hecho en falta el evento OnClick, y veo que no está activado, pero si
>>> que internamente dispone la clase de dicho evento, me explico...
>>> en el inspector de objetos no está incluido, y si lo utilizo desde
>>> programa en FormInitialize
>>> ::oLblExe:OnClick := {|| MsgInfo( "Clic en un Label" ) }
>>> ::oImage1:OnClick := {|| MsgInfo( "Clic en una Imagen" ) }
>>
>>
>> Están "ocultos" intencionadamente, pero efectívamente existen porque
>> vienen heredados de clases padres, concretamente de TControl.
>>
>>
>>> No tienen ningún efecto, pero sin embargo no lanza ningún error de
>>> método no existente.
>>
>> Exactamente. No se disparan nunca, y por eso no aparecen en el inspector.
>>
>>
>>> En mi modesta opinión, creo que SI deberían de disponer el evento
>>> OnClick, OnDblClick... y demás clicks TODOS los objetos, el uso que le
>>> hagamos, pues cada uno que lo utilize, o no.
>>> En mi caso, por ejemplo puedo utilizarlo, para que al pinchar en una
>>> imagen (Logo de una empresa), me envie a la web...
>>
>> Puedes utilizar el evento OnLButtonDown. El evento OnClick sólo existe en
>> algunos controles nativos de windows, y no es exactamente igual que
>> OnLButtonDown, pero creo que este último te puede servir perfectamente.
>>
>> --
>> Un saludo,
>>
>> José F. Giménez
>>
>>
>
>
>
>