Ver Mensaje Individual
  #6  
Antiguo 10-03-2022
juank1971 juank1971 is offline
Miembro
 
Registrado: feb 2008
Posts: 230
Reputación: 17
juank1971 Va por buen camino
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
    { Private declarations }
  var
   RecMain:TRectangle;

   //botones
   RecBtFirst:  TRectangle ;
   ImFirst:Timage;

    protected
    { Protected declarations }
  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

Última edición por Neftali [Germán.Estévez] fecha: 10-03-2022 a las 17:25:59. Razón: corregir la imagen
Responder Con Cita