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.<br>
<br>procedure TfmListado.SetHabilitado(AValue: Boolean);<br>var<br>  i: Integer;<br>begin<br> if FHabilitado=AValue then Exit;<br> FHabilitado:=AValue;<br><br> Enabled := FHabilitado;<br><br> if FHabilitado then<br>   alListado.State := asNormal<br>
 else<br>   alListado.State := asSuspended;<br><br> for i := 0 to tbListado.ControlCount - 1 do<br>   tbListado.Controls[i].Enabled := FHabilitado;<br><br> if FHabilitado then begin<br>   dgListado.TitleFont.Color := clDefault;<br>
   dgListado.Font.Color:= clDefault<br> end else begin<br>   dgListado.TitleFont.Color := clInactiveCaption;<br>   dgListado.Font.Color:= clInactiveCaption;<br> end;<br><br><br> tbListado.Enabled := FHabilitado;<br> dgListado.Enabled := FHabilitado;<br>
 sgListado.Enabled := FHabilitado;<br><br>end; <br><div><br></div><div><br></div><div>Capturas:</div><div><a href="http://i52.tinypic.com/2n6votk.png">http://i52.tinypic.com/2n6votk.png</a></div><div><a href="http://i54.tinypic.com/309o84x.png">http://i54.tinypic.com/309o84x.png</a></div>
<br>Gracias a todos, saludos coordiales.<br><br><div class="gmail_quote">2011/10/25 Gastón Dall' Oglio <span dir="ltr"><<a href="mailto:gaston.dalloglio@gmail.com">gaston.dalloglio@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div>Hola Antonio.<br></div><div><br></div><div>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.</div>

<div><br>procedure TfmListado.SetHabilitado(AValue: Boolean);    // TfmListado es TFrame<br>var<br>    i: Integer;<br>begin<br>  if FHabilitado=AValue then Exit;<br>  FHabilitado:=AValue;<br><br>  Enabled := FHabilitado;<br>

</div><div><br></div><div>if FHabilitado then<br>   alListado.State := asNormal         // alListado es un TActionList<br>else<br>   alListado.State := asSuspended;<br>  </div><div><br></div><div>for i := 0 to tbListado.ControlCount - 1 do<br>

      tbListado.Controls[i].Enabled := FHabilitado;         // tbListado es un TToolBar<br>tbListado.Enabled := FHabilitado;                   <br>dgListado.Enabled := FHabilitado;   // dgListado es un TDBGrid<br>sgListado.Enabled := FHabilitado;   // sgListado es un TStringGrid<br>

<br>end;  </div><div><br></div><div><br></div><div>Si querés enviar la clase que decís sería bueno mirarla.</div><div><br></div><div>Saludos.</div><div><div class="h5"><br><div class="gmail_quote">2011/10/25 Antonio Évora <span dir="ltr"><<a href="mailto:aevorar@gmail.com" target="_blank">aevorar@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

  
    
    
  
  <div bgcolor="#ffffff" text="#000000">
    El 25/10/11 01:02, Rubén Ibáñez escribió:
    <div><div><blockquote type="cite">Hola Gastón:<br>
      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í:<br>
      if Panel1.Enabled = False then<br>
           DBgrid1.Color:= clGray<br>
           else DBgrid1.Color:= clWhite;  <br>
      Un saludo,<br>
      Rubén.<br>
      <br>
      <div class="gmail_quote">2011/10/24 Gastón Dall' Oglio <span dir="ltr"><<a href="mailto:gaston.dalloglio@gmail.com" target="_blank">gaston.dalloglio@gmail.com</a>></span><br>
        <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
          <div>Ah, entiendo.<br>
          </div>
          <div>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).</div>
          <div><br>
          </div>
          <div>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.</div>
          <div><br>
          </div>
          <div>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).</div>
          <div><br>
          </div>
          <div>Bueno, no solucioné todos los problemas, pero al menos me
            ayudaron a entenderlo. Gracias y saludos.<br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div class="gmail_quote">2011/10/24 <span dir="ltr"><<a href="mailto:maximiliano.duarte@gmail.com" target="_blank">maximiliano.duarte@gmail.com</a>></span>
            <div>
              <div><br>
                <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">Se bloquea el control q lo
                  contiene.<br>
                  Y lo visual no lo hace porque no propaga el evento de
                  la propiedad enabled a los hijos<br>
                  Enviado desde mi BlackBerry® de Claro Argentina<br>
                  <br>
                  -----Original Message-----<br>
                  From: Gastón Dall' Oglio <<a href="mailto:gaston.dalloglio@gmail.com" target="_blank">gaston.dalloglio@gmail.com</a>><br>
                  Date: Mon, 24 Oct 2011 17:15:52<br>
                  To: Spanish version of Lazarus List<<a href="mailto:lazarus-es@lists.lazarus.freepascal.org" target="_blank">lazarus-es@lists.lazarus.freepascal.org</a>><br>
                  Reply-To: Spanish version of Lazarus List<br>
                         <<a href="mailto:lazarus-es@lists.lazarus.freepascal.org" target="_blank">lazarus-es@lists.lazarus.freepascal.org</a>><br>
                  Subject: Re: [Lazarus-es] Aspecto de controles
                  deshabilitados<br>
                  <div>
                    <div><br>
                      _______________________________________________<br>
                      Lazarus-es mailing list<br>
                      <a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
                      <a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
                      <br>
                      _______________________________________________<br>
                      Lazarus-es mailing list<br>
                      <a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
                      <a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
                    </div>
                  </div>
                </blockquote>
              </div>
            </div>
          </div>
          <br>
          <br>
          _______________________________________________<br>
          Lazarus-es mailing list<br>
          <a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
          <a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
          <br>
        </blockquote>
      </div>
      <br>
      <pre>_______________________________________________
Lazarus-es mailing list
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a>
</pre>    </blockquote></div></div>
    Hola Gastón,<br>
    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.<br>
    <br>
    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.<br>
    <br>
    Un cordial saludo.<br>
  </div>

<br>_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
<br></blockquote></div><br>
</div></div></blockquote></div><br>