Ver Mensaje Individual
  #4  
Antiguo 04-12-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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:

Código:
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

Última edición por roman fecha: 04-12-2003 a las 17:19:56.
Responder Con Cita