Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   cambiar de color el texto de un edit!!! (https://www.clubdelphi.com/foros/showthread.php?t=64926)

_CALI 10-11-2009 18:16:32

cambiar de color el texto de un edit!!!
 
amigos una pregunta que parezca sencilla:

como hago para cambiar el color del texto de un edit y/o TDBEdit cuando este este en enabled := False, es decir quiero que cuando esten deshabilitados mis edits, el texto se ponga bien negrito para que se pueda ver, porque el color que se pone por defecto es bien ralo y no se distibgue bien



gracias!!!!:):):)

Axel_Tech 10-11-2009 19:25:39

Puedes hacer el siguiente "truquillo". En el evento OnKeyPress del Edit:
Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  Key := #0;
end;
Para que no se pueda escribir nada, y luego pones el color de fondo del Edit en gris:
Código Delphi [-]
Edit1.Color := clInactiveCaptionText;
Espero que te sirva.

roman 10-11-2009 19:29:07

Yo solía usar mucho lo de inhabilitar controles, pero después me di cuenta que casi siempre es suficiente con pnerlos de sólo lectura. Te permite cambiar el color, copiar el texto y aún así no puede escribirse en ellos.

// Saludos

fidel 10-11-2009 19:29:40

Pon un pequeño panel (formatea color y otros atributos para que no se vea) y sobre él el edit o dbedit. Desactiva el panel en vez de el edit, con eso queda desactivado el edit pero legible totalmente.

El problema es que no se nota si está o no desactivado. Esto también lo puedes arreglar cambiando el texto del edit a otro color justo antes de desactivarlo.

rafita 10-11-2009 19:44:55

Coincido con Román.
En lugar de utilizar la propiedad Enabled (a False), utiliza ReadOnly (a True).
De esta forma el texto no se "apaga" quedando casi ilegible.

Puedes remarcar que es de sólo lectura poniéndole un fondo diferente al resto, o un color de fuente distinta:
Edit1.Color:=clInfoBk;
Edit1.Font.Color:=clBrown;
o ambos.
El truco del Panel que te dice Axel, prefiero utilizarlo cuando son varios los componentes que inhabilito de una vez.
saludos

_CALI 12-11-2009 19:13:50

Cita:

Empezado por roman (Mensaje 346148)
Yo solía usar mucho lo de inhabilitar controles, pero después me di cuenta que casi siempre es suficiente con pnerlos de sólo lectura. Te permite cambiar el color, copiar el texto y aún así no puede escribirse en ellos.

// Saludos


mmmmm!!!! Claro, pero no hay otra manera de cambiar el color, digamos llamando a un metodo heredado algun manejador de ventana, es que me parece muy engorroso poner paneles y ademas con la propiedad readonly igual acepta el foco


Muchas Gracias

roman 12-11-2009 19:21:39

Puedes poner la propiedad TabStop del control en false para que no pase por ahí el foco al oprimir TAB. Aún se puede situar el foco directamente pero no en un recorrido por los controles del formulario.

Cambiar el color de cuando está inhabilitado, no sé qué tan factible sea, porque creo que es el comportamiento predeterminado del S.O, más que de Delphi.

// Saludos


La franja horaria es GMT +2. Ahora son las 13:14:10.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi