Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2011-10

Aspecto de controles deshabilitados

21 messages · 7 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Gastón Dall' Oglio

Hola gente.

Les quer�a consultar por si algunos me puede dar una idea de que hacer, o si me estoy olvidando algo en el apuro.

El tema es que tengo dos frames en un form, y en alg�n momento necesito "bloquear" el primero ya que contiene varios controles de datos de diferentes datasets, toolbars con acciones, etc., y no quiero que el usuario los pueda utilizar. Para esto lo que hago es deshabilitar el frame y por consiguiente todos sus controles son deshabilitados. El problema es que para el usuario estos controles siguen mostr�ndose cono si �l los pudiera usar. Entonces, la pregunta es �como puedo hacer para que tengan un aspecto de deshabilitados?

Como no pude lograrlo, intent� tapar los controles del frame mostrardo otro sobre estos, como un panel, o una imagen con trasparencia, incluso prob� otros controles. El panel funciona perfectamente, pero ser�a bueno que el usuario pudiera seguir viendo que hay dentro del frame deshabilitado. Con la imagen no logr� hacer que se posicione por sobre los dem�s controles del frame.

�algunas idea?

gracias de antemano.
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111024/0444d707/attachment.html>

Reply by email

Rubén Ibáñez
to Gastón Dall' Oglio

Hola Gast�n:
Creo que tienes que usar la propiedad 'Enabled', poni�ndola a false. Si el frame no tiene esta propiedad tendr�s que ponerla a false para cada control individual: Ej: botton1.Enabled:= false (o true para habilitar). Luego lo compruebo y te confirmo si funciona.
Rub�n.

2011/10/24 Gast�n Dall' Oglio <gaston.dalloglio en gmail.com>

Show quoted text 31 lines
Hola gente. Les quer�a consultar por si algunos me puede dar una idea de que hacer, o si me estoy olvidando algo en el apuro. El tema es que tengo dos frames en un form, y en alg�n momento necesito "bloquear" el primero ya que contiene varios controles de datos de diferentes datasets, toolbars con acciones, etc., y no quiero que el usuario los pueda utilizar. Para esto lo que hago es deshabilitar el frame y por consiguiente todos sus controles son deshabilitados. El problema es que para el usuario estos controles siguen mostr�ndose cono si �l los pudiera usar. Entonces, la pregunta es �como puedo hacer para que tengan un aspecto de deshabilitados? Como no pude lograrlo, intent� tapar los controles del frame mostrardo otro sobre estos, como un panel, o una imagen con trasparencia, incluso prob� otros controles. El panel funciona perfectamente, pero ser�a bueno que el usuario pudiera seguir viendo que hay dentro del frame deshabilitado. Con la imagen no logr� hacer que se posicione por sobre los dem�s controles del frame. �algunas idea? gracias de antemano. _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111024/374933e5/attachment.html>

Reply by email

Gastón Dall' Oglio
to Rubén Ibáñez

Hola Rub�n.

Gracias por la respuesta, pero s�, a esto es a lo que me refer�a con "lo que hago es deshabilitar el frame", el frama la tiene y como es de esperar deshabilita todos sus controles hijos (con parent = frame). Mi problema es que visualmente, los controles no evidencian que est�n deshabilitados, mostrandose grises o algo similar, entonces el usuario no toma conocimiento de que no puede usar los controles e intenta utilizarlos...
Hay algunos controles que si evidencian que est�n deshabilitados, como los tabcontrol, pero las grillas de datos y las toolbars por ejemplo no, se ven igual si estan habilitadas o si no.

En este momento estoy utilizando Gnome en Gentoo, pero en Windows sucede algo similar, incluso usando el aspecto nativo o de Lazarus. Si mal no recuerdo, este tipo de problemas los ten�a en Delphi 7 (hace mucho tiempo que no lo uso).

Nuevamente gracias.

2011/10/24 Rub�n Ib��ez <ruben.mariano.ibanez en gmail.com>

Show quoted text 48 lines
Hola Gast�n: Creo que tienes que usar la propiedad 'Enabled', poni�ndola a false. Si el frame no tiene esta propiedad tendr�s que ponerla a false para cada control individual: Ej: botton1.Enabled:= false (o true para habilitar). Luego lo compruebo y te confirmo si funciona. Rub�n. 2011/10/24 Gast�n Dall' Oglio <gaston.dalloglio en gmail.com> > Hola gente. > > Les quer�a consultar por si algunos me puede dar una idea de que hacer, o > si me estoy olvidando algo en el apuro. > > El tema es que tengo dos frames en un form, y en alg�n momento necesito > "bloquear" el primero ya que contiene varios controles de datos de > diferentes datasets, toolbars con acciones, etc., y no quiero que el usuario > los pueda utilizar. Para esto lo que hago es deshabilitar el frame y por > consiguiente todos sus controles son deshabilitados. El problema es que para > el usuario estos controles siguen mostr�ndose cono si �l los pudiera usar. > Entonces, la pregunta es �como puedo hacer para que tengan un aspecto de > deshabilitados? > > Como no pude lograrlo, intent� tapar los controles del frame mostrardo > otro sobre estos, como un panel, o una imagen con trasparencia, incluso > prob� otros controles. El panel funciona perfectamente, pero ser�a bueno que > el usuario pudiera seguir viendo que hay dentro del frame deshabilitado. Con > la imagen no logr� hacer que se posicione por sobre los dem�s controles del > frame. > > �algunas idea? > > gracias de antemano. > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111024/bfee8f8a/attachment.html>

Reply by email

Maxi
to Gastón Dall' Oglio

hasta donde yo se el enable no se propaga a los controles hijos. Podes hacer una funcion que busque los hios de un control y los deshabiliten

Show quoted text 6 lines
_______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://miexperiencialinux.blogspot.com/

Reply by email

Abraham
to Maxi

Hola Gaston

usa los TGroupBox y con ese si lograras buenos resultados.

en estos momentos estoy usandolo.

Saludos.
-------------------
Abraham Monta�o
abraham.montano en gmail.com
Chiclayo - Per�
---------------------

El 24 de octubre de 2011 21:40, Maxi <maximiliano.duarte en gmail.com>escribi�:

Show quoted text 29 lines
hasta donde yo se el enable no se propaga a los controles hijos. Podes hacer una funcion que busque los hios de un control y los deshabiliten > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://miexperiencialinux.blogspot.com/ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111024/8b475242/attachment-0001.html>

Reply by email

Gastón Dall' Oglio
to Maxi: hasta donde yo se el enable no se propaga a los controles hijos. Podes hacer una funcion…

Hola Maximiliano.

Seguro? yo creer�a que s�, de hecho los hijos quedan bloqueados. Pero bueno, tampoco lo se. Voy a probar con la funci�n en el caso que trato de resolver es sencilla de hacer. Gracias.

El 24 de octubre de 2011 16:40, Maxi <maximiliano.duarte en gmail.com>escribi�:

Show quoted text 29 lines
hasta donde yo se el enable no se propaga a los controles hijos. Podes hacer una funcion que busque los hios de un control y los deshabiliten > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://miexperiencialinux.blogspot.com/ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111024/462d5862/attachment.html>

Reply by email

Gastón Dall' Oglio
to Abraham: Hola Gaston usa los TGroupBox y con ese si lograras buenos resultados. en estos momentos…

Hola Abraham.

No comprendo, que use los TGroupBox para reemplazar que? los TFrame? en ese caso no me conviene porque me rompe mucho el modelo, estoy usando los frame porque me permiten dividir el c�digo de manera sencilla y efectiva (de otra manera o tengo que hacer componentes o me queda todo el c�digo en el form principal).

Saludos.

2011/10/24 Abraham <abraham.montano en gmail.com>

Show quoted text 56 lines
Hola Gaston usa los TGroupBox y con ese si lograras buenos resultados. en estos momentos estoy usandolo. Saludos. ------------------- Abraham Monta�o abraham.montano en gmail.com Chiclayo - Per� --------------------- El 24 de octubre de 2011 21:40, Maxi <maximiliano.duarte en gmail.com>escribi�: hasta donde yo se el enable no se propaga a los controles hijos. > Podes hacer una funcion que busque los hios de un control y los > deshabiliten > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lists.lazarus.freepascal.org > > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > > > -- > El que pregunta aprende, y el que contesta aprende a responder. > > No a la obsolecencia programada: > > http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html > > Linux User #495070 > http://miexperiencialinux.blogspot.com/ > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111024/0297f783/attachment.html>

Reply by email

maximiliano.duarte en gmail.com
to Gastón Dall' Oglio: Hola Maximiliano. Seguro? yo creer�a que s�, de hecho los hijos quedan bloqueados.…

Se bloquea el control q lo contiene.
Y lo visual no lo hace porque no propaga el evento de la propiedad enabled a los hijos Enviado desde mi BlackBerry� de Claro Argentina

Earlier message 8 lines
-----Original Message----- From: Gast�n Dall' Oglio <gaston.dalloglio en gmail.com> Date: Mon, 24 Oct 2011 17:15:52 To: Spanish version of Lazarus List<lazarus-es en lists.lazarus.freepascal.org> Reply-To: Spanish version of Lazarus List <lazarus-es en lists.lazarus.freepascal.org> Subject: Re: [Lazarus-es] Aspecto de controles deshabilitados

Reply by email

Gastón Dall' Oglio
to maximiliano.duarte en gmail.com

Ah, entiendo.
Estoy comprob�ndolo en tiempo de dise�o. Por ejemplo deshabilito un TToolBar y sus botones siguen habilitados, tengo que deshabilitar cada bot�n por separado. Veo que los botones carecen de una propiedad ParentEnabled, que ser�a la manera de definirles que se propague el estado del padre a ellos (ning�n control la tiene, alg�n motivo debe haber).

En el caso de la TDBGrid, las columnas no tienen la propiedad Enabled, ni siquiera publica para usarla en tiempo de ejecuci�n, por lo que no se puede deshabilitar. Tal vez este asociada al estado del TField.

En el caso del TTabControl, no se pueden deshabilitar los tabs individualmente porque estos son simples Strings que se cargan en la propiedad Tabs. Pero, deshabilitando el TTabControl los tabs hijos SI se muestran deshabiltados (grises).

Bueno, no solucion� todos los problemas, pero al menos me ayudaron a entenderlo. Gracias y saludos.

2011/10/24 <maximiliano.duarte en gmail.com>

Show quoted text 24 lines
Se bloquea el control q lo contiene. Y lo visual no lo hace porque no propaga el evento de la propiedad enabled a los hijos Enviado desde mi BlackBerry� de Claro Argentina -----Original Message----- From: Gast�n Dall' Oglio <gaston.dalloglio en gmail.com> Date: Mon, 24 Oct 2011 17:15:52 To: Spanish version of Lazarus List< lazarus-es en lists.lazarus.freepascal.org> Reply-To: Spanish version of Lazarus List <lazarus-es en lists.lazarus.freepascal.org> Subject: Re: [Lazarus-es] Aspecto de controles deshabilitados _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111024/be4f1626/attachment.html>

Reply by email

Rubén Ibáñez
to Gastón Dall' Oglio

Hola Gast�n:
Tienes raz�n y la tienen los dem�s. Tal vez podr�as cambiarle el color de fondo al Dbgrid inhabilitado, para facilitarle al usuario reconocer la situaci�n. Algo as�:
if Panel1.Enabled = False then

     DBgrid1.Color:= clGray
     else DBgrid1.Color:= clWhite;

Un saludo,
Rub�n.

2011/10/24 Gast�n Dall' Oglio <gaston.dalloglio en gmail.com>

Show quoted text 54 lines
Ah, entiendo. Estoy comprob�ndolo en tiempo de dise�o. Por ejemplo deshabilito un TToolBar y sus botones siguen habilitados, tengo que deshabilitar cada bot�n por separado. Veo que los botones carecen de una propiedad ParentEnabled, que ser�a la manera de definirles que se propague el estado del padre a ellos (ning�n control la tiene, alg�n motivo debe haber). En el caso de la TDBGrid, las columnas no tienen la propiedad Enabled, ni siquiera publica para usarla en tiempo de ejecuci�n, por lo que no se puede deshabilitar. Tal vez este asociada al estado del TField. En el caso del TTabControl, no se pueden deshabilitar los tabs individualmente porque estos son simples Strings que se cargan en la propiedad Tabs. Pero, deshabilitando el TTabControl los tabs hijos SI se muestran deshabiltados (grises). Bueno, no solucion� todos los problemas, pero al menos me ayudaron a entenderlo. Gracias y saludos. 2011/10/24 <maximiliano.duarte en gmail.com> Se bloquea el control q lo contiene. > Y lo visual no lo hace porque no propaga el evento de la propiedad enabled > a los hijos > Enviado desde mi BlackBerry� de Claro Argentina > > -----Original Message----- > From: Gast�n Dall' Oglio <gaston.dalloglio en gmail.com> > Date: Mon, 24 Oct 2011 17:15:52 > To: Spanish version of Lazarus List< > lazarus-es en lists.lazarus.freepascal.org> > Reply-To: Spanish version of Lazarus List > <lazarus-es en lists.lazarus.freepascal.org> > Subject: Re: [Lazarus-es] Aspecto de controles deshabilitados > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111024/68e63d21/attachment-0001.html>

Reply by email

Antonio Évora
to Rubén Ibáñez

El 25/10/11 01:02, Rub�n Ib��ez escribi�:

Show quoted text 81 lines
Hola Gast�n: Tienes raz�n y la tienen los dem�s. Tal vez podr�as cambiarle el color de fondo al Dbgrid inhabilitado, para facilitarle al usuario reconocer la situaci�n. Algo as�: if Panel1.Enabled = False then DBgrid1.Color:= clGray else DBgrid1.Color:= clWhite; Un saludo, Rub�n. 2011/10/24 Gast�n Dall' Oglio <gaston.dalloglio en gmail.com <mailto:gaston.dalloglio en gmail.com>> Ah, entiendo. Estoy comprob�ndolo en tiempo de dise�o. Por ejemplo deshabilito un TToolBar y sus botones siguen habilitados, tengo que deshabilitar cada bot�n por separado. Veo que los botones carecen de una propiedad ParentEnabled, que ser�a la manera de definirles que se propague el estado del padre a ellos (ning�n control la tiene, alg�n motivo debe haber). En el caso de la TDBGrid, las columnas no tienen la propiedad Enabled, ni siquiera publica para usarla en tiempo de ejecuci�n, por lo que no se puede deshabilitar. Tal vez este asociada al estado del TField. En el caso del TTabControl, no se pueden deshabilitar los tabs individualmente porque estos son simples Strings que se cargan en la propiedad Tabs. Pero, deshabilitando el TTabControl los tabs hijos SI se muestran deshabiltados (grises). Bueno, no solucion� todos los problemas, pero al menos me ayudaron a entenderlo. Gracias y saludos. 2011/10/24 <maximiliano.duarte en gmail.com <mailto:maximiliano.duarte en gmail.com>> Se bloquea el control q lo contiene. Y lo visual no lo hace porque no propaga el evento de la propiedad enabled a los hijos Enviado desde mi BlackBerry� de Claro Argentina -----Original Message----- From: Gast�n Dall' Oglio <gaston.dalloglio en gmail.com <mailto:gaston.dalloglio en gmail.com>> Date: Mon, 24 Oct 2011 17:15:52 To: Spanish version of Lazarus List<lazarus-es en lists.lazarus.freepascal.org <mailto:lazarus-es en lists.lazarus.freepascal.org>> Reply-To: Spanish version of Lazarus List <lazarus-es en lists.lazarus.freepascal.org <mailto:lazarus-es en lists.lazarus.freepascal.org>> Subject: Re: [Lazarus-es] Aspecto de controles deshabilitados _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org <mailto:Lazarus-es en lists.lazarus.freepascal.org> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org <mailto:Lazarus-es en lists.lazarus.freepascal.org> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org <mailto:Lazarus-es en lists.lazarus.freepascal.org> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Hola Gast�n,
Puedes crearte una funci�n que reciba como par�metro el componente y si esta habilitado o no. Y en la funci�n recorrer todos los componentes hijos de este y aplicarle el estado. Puedes hacerlo usando RTTI.

Yo tengo una clase que hace algo parecido para controlar la entrada y salida de los controles (eventos OnEnter y OnExit) que hace que determinados componentes cambien el fondo en funci�n de si tienen el foco o no. Si quieres te la paso.

Un cordial saludo.
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111025/d7b6625d/attachment.html>

Reply by email

Jose Antonio Cuello Principal
to Gastón Dall' Oglio: Hola gente. Les quer�a consultar por si algunos me puede dar una idea de que hacer, o si

Por qu� no usas TActions. Simplemente le indicas a todos los TActions en el evento OnUpdate que se pongan Enabled seg�n el Enabled del parent.

Un saludo.

El 24/10/11 19:31, Gast�n Dall' Oglio escribi�:

Show quoted text 30 lines
Hola gente. Les quer�a consultar por si algunos me puede dar una idea de que hacer, o si me estoy olvidando algo en el apuro. El tema es que tengo dos frames en un form, y en alg�n momento necesito "bloquear" el primero ya que contiene varios controles de datos de diferentes datasets, toolbars con acciones, etc., y no quiero que el usuario los pueda utilizar. Para esto lo que hago es deshabilitar el frame y por consiguiente todos sus controles son deshabilitados. El problema es que para el usuario estos controles siguen mostr�ndose cono si �l los pudiera usar. Entonces, la pregunta es �como puedo hacer para que tengan un aspecto de deshabilitados? Como no pude lograrlo, intent� tapar los controles del frame mostrardo otro sobre estos, como un panel, o una imagen con trasparencia, incluso prob� otros controles. El panel funciona perfectamente, pero ser�a bueno que el usuario pudiera seguir viendo que hay dentro del frame deshabilitado. Con la imagen no logr� hacer que se posicione por sobre los dem�s controles del frame. �algunas idea? gracias de antemano. _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
*ARTEX TRADING sa* /Jos� Ant. Cuello Principal/ ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111025/2a974416/attachment.html>

Reply by email

Gastón Dall' Oglio
to Rubén Ibáñez: Hola Gast�n: Tienes raz�n y la tienen los dem�s. Tal vez podr�as cambiarle el…

Hola Rub�n.

Hab�a estado intentando cambiando el color, y veo que para el caso de la grilla voy a tener usar esa forma, porque no encuentro por el momento otra manera simple de cambiarle el aspecto.

Saludos.

2011/10/24 Rub�n Ib��ez <ruben.mariano.ibanez en gmail.com>

Show quoted text 73 lines
Hola Gast�n: Tienes raz�n y la tienen los dem�s. Tal vez podr�as cambiarle el color de fondo al Dbgrid inhabilitado, para facilitarle al usuario reconocer la situaci�n. Algo as�: if Panel1.Enabled = False then DBgrid1.Color:= clGray else DBgrid1.Color:= clWhite; Un saludo, Rub�n. 2011/10/24 Gast�n Dall' Oglio <gaston.dalloglio en gmail.com> > Ah, entiendo. > Estoy comprob�ndolo en tiempo de dise�o. Por ejemplo deshabilito un > TToolBar y sus botones siguen habilitados, tengo que deshabilitar cada bot�n > por separado. Veo que los botones carecen de una propiedad ParentEnabled, > que ser�a la manera de definirles que se propague el estado del padre a > ellos (ning�n control la tiene, alg�n motivo debe haber). > > En el caso de la TDBGrid, las columnas no tienen la propiedad Enabled, ni > siquiera publica para usarla en tiempo de ejecuci�n, por lo que no se puede > deshabilitar. Tal vez este asociada al estado del TField. > > En el caso del TTabControl, no se pueden deshabilitar los tabs > individualmente porque estos son simples Strings que se cargan en la > propiedad Tabs. Pero, deshabilitando el TTabControl los tabs hijos SI se > muestran deshabiltados (grises). > > Bueno, no solucion� todos los problemas, pero al menos me ayudaron a > entenderlo. Gracias y saludos. > > > 2011/10/24 <maximiliano.duarte en gmail.com> > > Se bloquea el control q lo contiene. >> Y lo visual no lo hace porque no propaga el evento de la propiedad >> enabled a los hijos >> Enviado desde mi BlackBerry� de Claro Argentina >> >> -----Original Message----- >> From: Gast�n Dall' Oglio <gaston.dalloglio en gmail.com> >> Date: Mon, 24 Oct 2011 17:15:52 >> To: Spanish version of Lazarus List< >> lazarus-es en lists.lazarus.freepascal.org> >> Reply-To: Spanish version of Lazarus List >> <lazarus-es en lists.lazarus.freepascal.org> >> Subject: Re: [Lazarus-es] Aspecto de controles deshabilitados >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111025/3b904b2b/attachment.html>

Reply by email

maximiliano.duarte en gmail.com
to Gastón Dall' Oglio

En la grilla podes usar disablecontrols
Enviado desde mi BlackBerry� de Claro Argentina

Earlier message 8 lines
-----Original Message----- From: Gast�n Dall' Oglio <gaston.dalloglio en gmail.com> Date: Tue, 25 Oct 2011 08:27:05 To: Spanish version of Lazarus List<lazarus-es en lists.lazarus.freepascal.org> Reply-To: Spanish version of Lazarus List <lazarus-es en lists.lazarus.freepascal.org> Subject: Re: [Lazarus-es] Aspecto de controles deshabilitados

Reply by email

Gastón Dall' Oglio
to Antonio Évora: El 25/10/11 01:02, Rub�n Ib��ez escribi�: Puedes crearte una funci�n que reciba…

Hola Antonio.

Por el momento, esta haciendo algo as�. En el TFrame tengo una propiedad Habilitado, la cual en su seter recorre los componentes de TFrame y los deshabilita, y en el caso del TToolBar, recorre sus botones.

procedure TfmListado.SetHabilitado(AValue: Boolean);    // TfmListado es
TFrame
var
    i: Integer;
begin
if FHabilitado=AValue then Exit;
FHabilitado:=AValue;
Enabled := FHabilitado;
if FHabilitado then
   alListado.State := asNormal         // alListado es un TActionList
else
   alListado.State := asSuspended;
for i := 0 to tbListado.ControlCount - 1 do
    tbListado.Controls[i].Enabled := FHabilitado;         // tbListado es un
TToolBar
tbListado.Enabled := FHabilitado;
dgListado.Enabled := FHabilitado;   // dgListado es un TDBGrid
sgListado.Enabled := FHabilitado;   // sgListado es un TStringGrid
end;

Si quer�s enviar la clase que dec�s ser�a bueno mirarla.

Saludos.

2011/10/25 Antonio �vora <aevorar en gmail.com>

Show quoted text 89 lines
El 25/10/11 01:02, Rub�n Ib��ez escribi�: Hola Gast�n: Tienes raz�n y la tienen los dem�s. Tal vez podr�as cambiarle el color de fondo al Dbgrid inhabilitado, para facilitarle al usuario reconocer la situaci�n. Algo as�: if Panel1.Enabled = False then DBgrid1.Color:= clGray else DBgrid1.Color:= clWhite; Un saludo, Rub�n. 2011/10/24 Gast�n Dall' Oglio <gaston.dalloglio en gmail.com> > Ah, entiendo. > Estoy comprob�ndolo en tiempo de dise�o. Por ejemplo deshabilito un > TToolBar y sus botones siguen habilitados, tengo que deshabilitar cada bot�n > por separado. Veo que los botones carecen de una propiedad ParentEnabled, > que ser�a la manera de definirles que se propague el estado del padre a > ellos (ning�n control la tiene, alg�n motivo debe haber). > > En el caso de la TDBGrid, las columnas no tienen la propiedad Enabled, > ni siquiera publica para usarla en tiempo de ejecuci�n, por lo que no se > puede deshabilitar. Tal vez este asociada al estado del TField. > > En el caso del TTabControl, no se pueden deshabilitar los tabs > individualmente porque estos son simples Strings que se cargan en la > propiedad Tabs. Pero, deshabilitando el TTabControl los tabs hijos SI se > muestran deshabiltados (grises). > > Bueno, no solucion� todos los problemas, pero al menos me ayudaron a > entenderlo. Gracias y saludos. > > > 2011/10/24 <maximiliano.duarte en gmail.com> > > Se bloquea el control q lo contiene. >> Y lo visual no lo hace porque no propaga el evento de la propiedad >> enabled a los hijos >> Enviado desde mi BlackBerry� de Claro Argentina >> >> -----Original Message----- >> From: Gast�n Dall' Oglio <gaston.dalloglio en gmail.com> >> Date: Mon, 24 Oct 2011 17:15:52 >> To: Spanish version of Lazarus List< >> lazarus-es en lists.lazarus.freepascal.org> >> Reply-To: Spanish version of Lazarus List >> <lazarus-es en lists.lazarus.freepascal.org> >> Subject: Re: [Lazarus-es] Aspecto de controles deshabilitados >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > _______________________________________________ Lazarus-es mailing listLazarus-es en lists.lazarus.freepascal.orghttp://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es Hola Gast�n, Puedes crearte una funci�n que reciba como par�metro el componente y si esta habilitado o no. Y en la funci�n recorrer todos los componentes hijos de este y aplicarle el estado. Puedes hacerlo usando RTTI. Yo tengo una clase que hace algo parecido para controlar la entrada y salida de los controles (eventos OnEnter y OnExit) que hace que determinados componentes cambien el fondo en funci�n de si tienen el foco o no. Si quieres te la paso. Un cordial saludo. _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111025/a6f3e2c2/attachment-0001.html>

Reply by email

Gastón Dall' Oglio
to Jose Antonio Cuello Principal: Por qu� no usas TActions. Simplemente le indicas a todos los TActions en el evento…

Hola Jose.

Todos los botones del toolbar utilizan un TAction. Cuando quiero deshabilitar todos los TAction deshabilito el TActionList as�:

if FHabilitado then
    alListado.State := asNormal // alListado es un TActionList
else
    alListado.State := asSuspended;

Eso funciona, el problema es el aspecto de los botones.

Saludos!

2011/10/25 Jose Antonio Cuello Principal <jcuello en artextrading.com>

Show quoted text 49 lines
Por qu� no usas TActions. Simplemente le indicas a todos los TActions en el evento OnUpdate que se pongan Enabled seg�n el Enabled del parent. Un saludo. El 24/10/11 19:31, Gast�n Dall' Oglio escribi�: Hola gente. Les quer�a consultar por si algunos me puede dar una idea de que hacer, o si me estoy olvidando algo en el apuro. El tema es que tengo dos frames en un form, y en alg�n momento necesito "bloquear" el primero ya que contiene varios controles de datos de diferentes datasets, toolbars con acciones, etc., y no quiero que el usuario los pueda utilizar. Para esto lo que hago es deshabilitar el frame y por consiguiente todos sus controles son deshabilitados. El problema es que para el usuario estos controles siguen mostr�ndose cono si �l los pudiera usar. Entonces, la pregunta es �como puedo hacer para que tengan un aspecto de deshabilitados? Como no pude lograrlo, intent� tapar los controles del frame mostrardo otro sobre estos, como un panel, o una imagen con trasparencia, incluso prob� otros controles. El panel funciona perfectamente, pero ser�a bueno que el usuario pudiera seguir viendo que hay dentro del frame deshabilitado. Con la imagen no logr� hacer que se posicione por sobre los dem�s controles del frame. �algunas idea? gracias de antemano. _______________________________________________ Lazarus-es mailing listLazarus-es en lists.lazarus.freepascal.orghttp://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- *ARTEX TRADING sa* *Jos� Ant. Cuello Principal* _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111025/7af59aad/attachment.html>

Reply by email

Gastón Dall' Oglio
to maximiliano.duarte en gmail.com: En la grilla podes usar disablecontrols Enviado desde mi BlackBerry� de Claro Argentina…

Ahh claro entiendo. Pero en mi caso no me sirve, porque si uso TDataSet.DisableControls deshabilito todos los controles del dataset y algunos los necesito habilitados. De todas maneras, acabo de probar, y al menos en linux, la grilla no se ve deshabilitada.

Gracias y saludos.

2011/10/25 <maximiliano.duarte en gmail.com>

Show quoted text 22 lines
En la grilla podes usar disablecontrols Enviado desde mi BlackBerry� de Claro Argentina -----Original Message----- From: Gast�n Dall' Oglio <gaston.dalloglio en gmail.com> Date: Tue, 25 Oct 2011 08:27:05 To: Spanish version of Lazarus List< lazarus-es en lists.lazarus.freepascal.org> Reply-To: Spanish version of Lazarus List <lazarus-es en lists.lazarus.freepascal.org> Subject: Re: [Lazarus-es] Aspecto de controles deshabilitados _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111025/0642fbf7/attachment.html>

Reply by email

Gastón Dall' Oglio
to Gastón Dall' Oglio: Hola Antonio. Por el momento, esta haciendo algo as�. En el TFrame tengo una propiedad…

Finalmente, cambiando el color de la fuente de la grilla he conseguido el aspecto que que necesitaba en todos los controles que estoy usando. No es una soluci�n gen�rica, pero funciona para este caso. Adjunto dos capturas, una cuando todos los Tframes estan habilitados, y otra cuando solo lo esta en el que se esta editando.

procedure TfmListado.SetHabilitado(AValue: Boolean);
var
i: Integer;
begin
if FHabilitado=AValue then Exit;
FHabilitado:=AValue;
Enabled := FHabilitado;
if FHabilitado then
alListado.State := asNormal
else
alListado.State := asSuspended;
for i := 0 to tbListado.ControlCount - 1 do
tbListado.Controls[i].Enabled := FHabilitado;
if FHabilitado then begin
dgListado.TitleFont.Color := clDefault;
dgListado.Font.Color:= clDefault
end else begin
dgListado.TitleFont.Color := clInactiveCaption;
dgListado.Font.Color:= clInactiveCaption;
end;
tbListado.Enabled := FHabilitado;
dgListado.Enabled := FHabilitado;
sgListado.Enabled := FHabilitado;
end;

Capturas:
http://i52.tinypic.com/2n6votk.png
http://i54.tinypic.com/309o84x.png

Gracias a todos, saludos coordiales.

2011/10/25 Gast�n Dall' Oglio <gaston.dalloglio en gmail.com>

Show quoted text 127 lines
Hola Antonio. Por el momento, esta haciendo algo as�. En el TFrame tengo una propiedad Habilitado, la cual en su seter recorre los componentes de TFrame y los deshabilita, y en el caso del TToolBar, recorre sus botones. procedure TfmListado.SetHabilitado(AValue: Boolean); // TfmListado es TFrame var i: Integer; begin if FHabilitado=AValue then Exit; FHabilitado:=AValue; Enabled := FHabilitado; if FHabilitado then alListado.State := asNormal // alListado es un TActionList else alListado.State := asSuspended; for i := 0 to tbListado.ControlCount - 1 do tbListado.Controls[i].Enabled := FHabilitado; // tbListado es un TToolBar tbListado.Enabled := FHabilitado; dgListado.Enabled := FHabilitado; // dgListado es un TDBGrid sgListado.Enabled := FHabilitado; // sgListado es un TStringGrid end; Si quer�s enviar la clase que dec�s ser�a bueno mirarla. Saludos. 2011/10/25 Antonio �vora <aevorar en gmail.com> > El 25/10/11 01:02, Rub�n Ib��ez escribi�: > > Hola Gast�n: > Tienes raz�n y la tienen los dem�s. Tal vez podr�as cambiarle el color de > fondo al Dbgrid inhabilitado, para facilitarle al usuario reconocer la > situaci�n. Algo as�: > if Panel1.Enabled = False then > DBgrid1.Color:= clGray > else DBgrid1.Color:= clWhite; > Un saludo, > Rub�n. > > 2011/10/24 Gast�n Dall' Oglio <gaston.dalloglio en gmail.com> > >> Ah, entiendo. >> Estoy comprob�ndolo en tiempo de dise�o. Por ejemplo deshabilito un >> TToolBar y sus botones siguen habilitados, tengo que deshabilitar cada bot�n >> por separado. Veo que los botones carecen de una propiedad ParentEnabled, >> que ser�a la manera de definirles que se propague el estado del padre a >> ellos (ning�n control la tiene, alg�n motivo debe haber). >> >> En el caso de la TDBGrid, las columnas no tienen la propiedad Enabled, >> ni siquiera publica para usarla en tiempo de ejecuci�n, por lo que no se >> puede deshabilitar. Tal vez este asociada al estado del TField. >> >> En el caso del TTabControl, no se pueden deshabilitar los tabs >> individualmente porque estos son simples Strings que se cargan en la >> propiedad Tabs. Pero, deshabilitando el TTabControl los tabs hijos SI se >> muestran deshabiltados (grises). >> >> Bueno, no solucion� todos los problemas, pero al menos me ayudaron a >> entenderlo. Gracias y saludos. >> >> >> 2011/10/24 <maximiliano.duarte en gmail.com> >> >> Se bloquea el control q lo contiene. >>> Y lo visual no lo hace porque no propaga el evento de la propiedad >>> enabled a los hijos >>> Enviado desde mi BlackBerry� de Claro Argentina >>> >>> -----Original Message----- >>> From: Gast�n Dall' Oglio <gaston.dalloglio en gmail.com> >>> Date: Mon, 24 Oct 2011 17:15:52 >>> To: Spanish version of Lazarus List< >>> lazarus-es en lists.lazarus.freepascal.org> >>> Reply-To: Spanish version of Lazarus List >>> <lazarus-es en lists.lazarus.freepascal.org> >>> Subject: Re: [Lazarus-es] Aspecto de controles deshabilitados >>> >>> _______________________________________________ >>> Lazarus-es mailing list >>> Lazarus-es en lists.lazarus.freepascal.org >>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >>> >>> _______________________________________________ >>> Lazarus-es mailing list >>> Lazarus-es en lists.lazarus.freepascal.org >>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >>> >> >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> > _______________________________________________ > Lazarus-es mailing listLazarus-es en lists.lazarus.freepascal.orghttp://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > Hola Gast�n, > Puedes crearte una funci�n que reciba como par�metro el componente y si > esta habilitado o no. Y en la funci�n recorrer todos los componentes hijos > de este y aplicarle el estado. Puedes hacerlo usando RTTI. > > Yo tengo una clase que hace algo parecido para controlar la entrada y > salida de los controles (eventos OnEnter y OnExit) que hace que determinados > componentes cambien el fondo en funci�n de si tienen el foco o no. Si > quieres te la paso. > > Un cordial saludo. > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > >

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111025/42c0f7df/attachment-0001.html>

Reply by email

Jose Antonio Cuello Principal
to Gastón Dall' Oglio: Hola Jose. Todos los botones del toolbar utilizan un TAction. Cuando quiero deshabilitar…

Pues solo tienes que cambiar el estado del boton no del tactionlist. En evento OnUpdate (que puede ser el mismo para todos los TActions)

(Sender as TAction).Enabled := FEnabled;

Un saludo

El 25/10/11 13:42, Gast�n Dall' Oglio escribi�:

Show quoted text 76 lines
Hola Jose. Todos los botones del toolbar utilizan un TAction. Cuando quiero deshabilitar todos los TAction deshabilito el TActionList as�: if FHabilitado then alListado.State := asNormal // alListado es un TActionList else alListado.State := asSuspended; Eso funciona, el problema es el aspecto de los botones. Saludos! 2011/10/25 Jose Antonio Cuello Principal <jcuello en artextrading.com <mailto:jcuello en artextrading.com>> Por qu� no usas TActions. Simplemente le indicas a todos los TActions en el evento OnUpdate que se pongan Enabled seg�n el Enabled del parent. Un saludo. El 24/10/11 19:31, Gast�n Dall' Oglio escribi�: > Hola gente. > > Les quer�a consultar por si algunos me puede dar una idea de que > hacer, o si me estoy olvidando algo en el apuro. > > El tema es que tengo dos frames en un form, y en alg�n momento > necesito "bloquear" el primero ya que contiene varios controles > de datos de diferentes datasets, toolbars con acciones, etc., y > no quiero que el usuario los pueda utilizar. Para esto lo que > hago es deshabilitar el frame y por consiguiente todos sus > controles son deshabilitados. El problema es que para el usuario > estos controles siguen mostr�ndose cono si �l los pudiera usar. > Entonces, la pregunta es �como puedo hacer para que tengan un > aspecto de deshabilitados? > > Como no pude lograrlo, intent� tapar los controles del frame > mostrardo otro sobre estos, como un panel, o una imagen con > trasparencia, incluso prob� otros controles. El panel funciona > perfectamente, pero ser�a bueno que el usuario pudiera seguir > viendo que hay dentro del frame deshabilitado. Con la imagen no > logr� hacer que se posicione por sobre los dem�s controles del > frame. > > �algunas idea? > > gracias de antemano. > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org <mailto:Lazarus-es en lists.lazarus.freepascal.org> > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- *ARTEX TRADING sa* /Jos� Ant. Cuello Principal/ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org <mailto:Lazarus-es en lists.lazarus.freepascal.org> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
*ARTEX TRADING sa* /Jos� Ant. Cuello Principal/ ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111025/63b6bedc/attachment.html>

Reply by email

Gastón Dall' Oglio
to Jose Antonio Cuello Principal

Antonio

2011/10/25 Jose Antonio Cuello Principal <jcuello en artextrading.com>

Pues solo tienes que cambiar el estado del boton no del tactionlist. En evento OnUpdate (que puede ser el mismo para todos los TActions)

Tengo entendido que deshabilitando el TActionList deshabilito todas las acciones, evitando as� que se contin�en chequeando innecesariamente los OnUpdate de cada accci�n.

(Sender as TAction).Enabled := FEnabled;

En un principio usaba esta forma y funciona, pero me decid� por deshabilitar el TActionList porque es mas centralizada, tengo un TActionList por cada frame �Hay alg�n problema con deshabilitar este control con asSuspended? Tampoco se la diferencia entre asSuspended y asSuspendedEnabled.

Saludos.

Show quoted text 87 lines
Un saludo El 25/10/11 13:42, Gast�n Dall' Oglio escribi�: Hola Jose. Todos los botones del toolbar utilizan un TAction. Cuando quiero deshabilitar todos los TAction deshabilito el TActionList as�: if FHabilitado then alListado.State := asNormal // alListado es un TActionList else alListado.State := asSuspended; Eso funciona, el problema es el aspecto de los botones. Saludos! 2011/10/25 Jose Antonio Cuello Principal <jcuello en artextrading.com> > Por qu� no usas TActions. Simplemente le indicas a todos los TActions en > el evento OnUpdate que se pongan Enabled seg�n el Enabled del parent. > > Un saludo. > > > El 24/10/11 19:31, Gast�n Dall' Oglio escribi�: > > Hola gente. > > Les quer�a consultar por si algunos me puede dar una idea de que hacer, > o si me estoy olvidando algo en el apuro. > > El tema es que tengo dos frames en un form, y en alg�n momento necesito > "bloquear" el primero ya que contiene varios controles de datos de > diferentes datasets, toolbars con acciones, etc., y no quiero que el usuario > los pueda utilizar. Para esto lo que hago es deshabilitar el frame y por > consiguiente todos sus controles son deshabilitados. El problema es que para > el usuario estos controles siguen mostr�ndose cono si �l los pudiera usar. > Entonces, la pregunta es �como puedo hacer para que tengan un aspecto de > deshabilitados? > > Como no pude lograrlo, intent� tapar los controles del frame mostrardo > otro sobre estos, como un panel, o una imagen con trasparencia, incluso > prob� otros controles. El panel funciona perfectamente, pero ser�a bueno que > el usuario pudiera seguir viendo que hay dentro del frame deshabilitado. Con > la imagen no logr� hacer que se posicione por sobre los dem�s controles del > frame. > > �algunas idea? > > gracias de antemano. > > > _______________________________________________ > Lazarus-es mailing listLazarus-es en lists.lazarus.freepascal.orghttp://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > -- > *ARTEX TRADING sa* > *Jos� Ant. Cuello Principal* > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > _______________________________________________ Lazarus-es mailing listLazarus-es en lists.lazarus.freepascal.orghttp://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- *ARTEX TRADING sa* *Jos� Ant. Cuello Principal* _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111025/1d63c490/attachment.html>

Reply by email

Gastón Dall' Oglio
to Gastón Dall' Oglio

Jose, la forma que vos dec�s es la �nica que funciona del todo bien :) Hay que utilizar los OnUpdate con el FHabilitado (en mi caso) y listo. Por ejemplo:

procedure TfmListado.acReporteUpdate(Sender: TObject);
begin
(Sender as TAction).Enabled := FHabilitado and (dsListado.DataSet.State =
dsBrowse);
end;

Con esta forma que yo estaba usando, no logro que los TToolButtons se muestren deshabilitados

if FHabilitado then
  alListado.State := asNormal                          // alListado es un
TctionList
else
alListado.State := asSuspended;

, y al modificarlos as� directamente

for i := 0 to tbListado.ControlCount - 1 do
  tbListado.Controls[i].Enabled := FHabilitado;              // tbListado es
el toolbar que usa los TAction

luego no reflejan el verdadero estado del TAction hasta el nuevo OnUpdate.

Al final el m�todo SetHabilitado de TFrame qued� as�:

procedure TfmListado.SetHabilitado(AValue: Boolean);
var
   i: Integer;
begin
   if FHabilitado=AValue then Exit;
   FHabilitado:=AValue;
   Enabled := FHabilitado;
   if FHabilitado then begin
       dgListado.TitleFont.Color := clDefault;
       dgListado.Font.Color:= clDefault
   end else begin
       dgListado.TitleFont.Color := clInactiveCaption;
       dgListado.Font.Color:= clInactiveCaption;
   end;
    tbListado.Enabled := FHabilitado;
    dgListado.Enabled := FHabilitado;
    sgListado.Enabled := FHabilitado;
end;

Bueno, era bastante sencillo despu�s de todo, solo hay que sabe que hacer en cada caso. Gracias.

2011/10/25 Gast�n Dall' Oglio <gaston.dalloglio en gmail.com>

Show quoted text 114 lines
Antonio 2011/10/25 Jose Antonio Cuello Principal <jcuello en artextrading.com> > Pues solo tienes que cambiar el estado del boton no del tactionlist. En > evento OnUpdate (que puede ser el mismo para todos los TActions) > Tengo entendido que deshabilitando el TActionList deshabilito todas las acciones, evitando as� que se contin�en chequeando innecesariamente los OnUpdate de cada accci�n. > > (Sender as TAction).Enabled := FEnabled; > En un principio usaba esta forma y funciona, pero me decid� por deshabilitar el TActionList porque es mas centralizada, tengo un TActionList por cada frame �Hay alg�n problema con deshabilitar este control con asSuspended? Tampoco se la diferencia entre asSuspended y asSuspendedEnabled. Saludos. > > Un saludo > > El 25/10/11 13:42, Gast�n Dall' Oglio escribi�: > > Hola Jose. > > Todos los botones del toolbar utilizan un TAction. Cuando quiero > deshabilitar todos los TAction deshabilito el TActionList as�: > > if FHabilitado then > alListado.State := asNormal // alListado es un TActionList > else > alListado.State := asSuspended; > > Eso funciona, el problema es el aspecto de los botones. > > Saludos! > > 2011/10/25 Jose Antonio Cuello Principal <jcuello en artextrading.com> > >> Por qu� no usas TActions. Simplemente le indicas a todos los TActions en >> el evento OnUpdate que se pongan Enabled seg�n el Enabled del parent. >> >> Un saludo. >> >> >> El 24/10/11 19:31, Gast�n Dall' Oglio escribi�: >> >> Hola gente. >> >> Les quer�a consultar por si algunos me puede dar una idea de que hacer, >> o si me estoy olvidando algo en el apuro. >> >> El tema es que tengo dos frames en un form, y en alg�n momento necesito >> "bloquear" el primero ya que contiene varios controles de datos de >> diferentes datasets, toolbars con acciones, etc., y no quiero que el usuario >> los pueda utilizar. Para esto lo que hago es deshabilitar el frame y por >> consiguiente todos sus controles son deshabilitados. El problema es que para >> el usuario estos controles siguen mostr�ndose cono si �l los pudiera usar. >> Entonces, la pregunta es �como puedo hacer para que tengan un aspecto de >> deshabilitados? >> >> Como no pude lograrlo, intent� tapar los controles del frame mostrardo >> otro sobre estos, como un panel, o una imagen con trasparencia, incluso >> prob� otros controles. El panel funciona perfectamente, pero ser�a bueno que >> el usuario pudiera seguir viendo que hay dentro del frame deshabilitado. Con >> la imagen no logr� hacer que se posicione por sobre los dem�s controles del >> frame. >> >> �algunas idea? >> >> gracias de antemano. >> >> >> _______________________________________________ >> Lazarus-es mailing listLazarus-es en lists.lazarus.freepascal.orghttp://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> >> -- >> *ARTEX TRADING sa* >> *Jos� Ant. Cuello Principal* >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> > > > _______________________________________________ > Lazarus-es mailing listLazarus-es en lists.lazarus.freepascal.orghttp://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > -- > *ARTEX TRADING sa* > *Jos� Ant. Cuello Principal* > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > >

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20111025/04bfd426/attachment-0001.html>

Reply by email