Ver Mensaje Individual
  #5  
Antiguo 06-11-2011
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Reputación: 21
salvica Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola de nuevo.

No lo has visto seguramente por que en la mayoría de los casos no se utiliza, ya que como te dije antes es implícito (aunque no es incorrecto usarlo).
Código Delphi [-]procedure TComponentePrueba.SetFont(Value: TFont); begin try Canvas.Font.Assign(Value); // Self (implícito) es TComponentePrueba except end; end;

Un saludo.
Gracias por la aclaración, de todas formas el componente debe dibujar en el Canvas, originalmente provenía de TCustomControl, lo ha intentado adaptar a un TGraphicControl, pero me dice que no encuentra la propiedad DoubleBuffered (que debe ser para evitar el parpadeo), con lo que lo he dejado como estaba
Código Delphi [-]
  //TComponentePrueba = class(TGraphicControl)
  TComponentePrueba = class(TCustomControl)

¿Que diferencia hay entre asignar la fuente al canvas o al componente?
Código Delphi [-]
procedure TComponentePrueba.SetFont(Value: TFont);
begin
  FFont := Value; // ---------> aquí asigna la fuente a la variable interna ( en el original esto no viene, pero FFont : TFont si)
  try
    Self.Canvas.Font.Assign(Value); // ---------> aquí asigna la fuente al canvas
  except
  end;
end;
Responder Con Cita