PDA

Ver la Versión Completa : Color de fuente en Edit !!!


vpepen
04-12-2003, 16:06:01
Hola Foro !!!

Es posible mostrar el color de la fuente de un Edit estando la propiedad enabled := false?

Las gracias anticipadas,

Víctor.-

delphi.com.ar
04-12-2003, 16:10:33
Te recomiendo este hilo: Color de edit inhabilitado (http://www.clubdelphi.com/foros/showthread.php?s=&threadid=5384)

Saludos!

marcoszorrilla
04-12-2003, 16:11:48
No, ponlo sobre un tpanel, lo reduces para que no se note que está sobre dicho componente y luego pones el tpanel disponible a falso, y así el Edit mantendrá el color de fuente que tenga y además parecerá que está no disponible.

Un Saludo.

roman
04-12-2003, 17:13:21
Aunque sigo estando de acuerdo con lo que dije en el hilo que menciona dca, aquí va una manera de presentar el texto de un Edit con la fuente que tenga asignada, es decir, tal como se ve cuando está habilitado:


interface

type
// Esta declaración debe ir antes de el formulario
TEdit = class(StdCtrls.TEdit)
private
procedure WMPaint(var Msg: TWMPaint); message WM_PAINT;
end;

TForm1 = class(TForm)
end;

implementation

procedure TEdit.WMPaint(var Msg: TWMPaint);
var
ps: PaintStruct;
dc: hdc;
obj: HGdiObj;

begin
if Enabled then
inherited
else
begin
dc := BeginPaint(Handle, ps);
obj := SelectObject(dc, Font.Handle);
SetTextColor(dc, Font.Color);
TextOut(dc, 1, 0, PChar(Text), Length(Text));
SelectObject(dc, obj);
EndPaint(Handle, ps);

Msg.Result := 0;
end;
end;


Esto no pretende ser una clase de GDI y de hecho muestra mi escazo conocimiento en el asunto así que no respondo por su funcionamiento, pero acabo de probarlo y funciona.

// Saludos

vpepen
05-12-2003, 13:01:42
Gracias marcoszorrilla, es fenomenal la alternativa que presentas...

Aunque no he probado la alternativa de roman, trataré de ver si me funciona.


Gracias a todos,


Víctor.-