bueno ya tengo esta unit que les pongo debajo en un proyecto para crear el componente ahora me sale doble el resultado final , no se por que me sale doble, es como si si estuviera creando dos veces , en tiempo de diseño se ve bien pero en tiempo de corrida sale doble el componente. en el resultado final.
esta es la unit que tengo en el proyecto de el componente, lo compilo lo instalo y funciona bien en diseño, pero la correr no.
ya tengo el fichero recirso con la imagen dentro y funciona correcto eso.
Código Delphi
[-]
unit UNavegadorGrid;
interface
uses
System.SysUtils, System.Classes, FMX.Forms, FMX.Layouts,
System.UITypes, FMX.Graphics, FMX.Dialogs,FMX.Objects,FMX.Types,System.Types;
type
TNavegadorGrid = class(TRectangle)
private
var
RecMain:TRectangle;
RecBtFirst: TRectangle ;
ImFirst:Timage;
protected
public
constructor Create (AOwner: TComponent); overload; override;
published
end;
procedure Register;
implementation
{$R Recursos.res}
procedure Register;
begin
RegisterComponents('MyComponents', [TNavegadorGrid]);
end;
constructor TNavegadorGrid.Create(AOwner: TComponent);
var
B: TBitmap;
RS: TResourceStream;
begin
inherited Create (AOwner);
Height := 25;
Width := 268;
Stroke.Kind := Stroke.Kind.bkNone;
fill.Color := TAlphaColorRec.White;
if not Assigned(RecBtFirst) then
begin
RecBtFirst:= TRectangle.Create(self);
With RecBtFirst do
begin
parent := self;
Align := TAlignLayout.Left;
Stroke.Kind := Stroke.Kind.bkNone;
fill.Color := TAlphaColorRec.red;
end;
ImFirst:=Timage.Create(RecBtFirst);
ImFirst.Parent := RecBtFirst;
ImFirst.Align :=ImFirst.Align.alClient;
RS := TResourceStream.Create(HInstance, 'RES_IMG_OK_16X', RT_RCDATA);
try
B := TBitmap.Create;
B.LoadFromStream(RS);
ImFirst.Bitmap := B;
finally
RS.Free;
end;
end;
end;
end.
esto es lo que se ve