Hola a todos de nuevo,
Estoy creando un componente para solucionar un problema que ya planteé en otro hilo. Es un TDBImage al que le fuerzo a su Bitmap las propiedades TransparentMode=tmFixed, Transparent=True y TransparentColor=Color especificado por el programador.
La cosa es que no me coge el cambio de valores que le hago en el componente que he creado y no se si es que he hecho algo mal. Les dejo el código para ver si ven algo que yo no haya visto.
Saludos y Gracias.
Código:
unit DBImageSinFondo;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBCtrls;
type
TDBImageSinFondo = class(TDBImage)
private
FTransparent: boolean; //Bitmap Transparente
FTransparentColor: TColor; //Color del Bitmap Transparente
FTransparentMode: TTransparentMode; //Modo de captación del color transparente
procedure SetTransparent (Value: boolean);
function GetTransparent: boolean;
procedure SetTransparentColor (Value: TColor);
function GetTransparentColor: TColor;
procedure SetTransparentMode (Value: TTransparentMode);
function GetTransparentMode: TTransparentMode;
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property TransparenteMode: TTransparentMode read GetTransparentMode write SetTransparentMode;
property Transparente: boolean read GetTransparent write SetTransparent;
property TransparenteColor: TColor read GetTransparentColor write SetTransparentColor;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('RapidSoft', [TDBImageSinFondo]);
end;
constructor TDBImageSinFondo.Create(AOwner: TComponent);
begin
inherited Create (AOwner);
//Valores por defecto
FTransparentMode := Picture.Bitmap.TransparentMode;
FTransparent := Picture.Bitmap.Transparent;
FTransparentColor := Picture.Bitmap.TransparentColor;
end;
destructor TDBImageSinFondo.Destroy;
begin
inherited Destroy;
end;
function TDBImageSinFondo.GetTransparent: Boolean;
begin
Result := FTransparent;
end;
procedure TDBImageSinFondo.SetTransparent (Value: Boolean);
begin
FTransparent:=Value;
Picture.Bitmap.Transparent := FTransparent;
end;
function TDBImageSinFondo.GetTransparentColor: TColor;
begin
Result := FTransparentColor;
end;
procedure TDBImageSinFondo.SetTransparentColor (Value: TColor);
begin
FTransparentColor := Value;
Picture.Bitmap.TransparentColor:=FTransparentColor;
end;
function TDBImageSinFondo.GetTransparentMode: TTransparentMode;
begin
Result := FTransparentMode;
end;
procedure TDBImageSinFondo.SetTransparentMode(Value: TTransparentMode);
begin
FTransparentMode := Value;
Picture.Bitmap.TransparentMode:=FTransparentMode;
end;
end.