Ver Mensaje Individual
  #1  
Antiguo 16-12-2004
Aprendiz Aprendiz is offline
Miembro
 
Registrado: may 2003
Posts: 78
Reputación: 22
Aprendiz Va por buen camino
Creación de Componente basado en DBImage

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.
__________________
[Aprendiz]: Por que siempre hay algo nuevo que aprender.
Responder Con Cita