Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > FireMonkey
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-03-2022
juank1971 juank1971 is offline
Miembro
 
Registrado: feb 2008
Posts: 230
Poder: 17
juank1971 Va por buen camino
iconos TBindNavigator

Saludos sera posible cambiar los iconos o personalizar un poco la apariencia de un TBindNavigator en FMX 10.4.
juan carlos
Responder Con Cita
  #2  
Antiguo 08-03-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
A priori lo más sencillo en estos casos es derivar el componente y en el nuevo componente, tienes diferentes métodos para modificarlo.
Puedes utilizar el asistente para ello:
Component/New component/Firemonkey for Delphi/

A partir de ahí, escoger TBindNavigator o TCustomBindNavigator, el que más te interese

Es este caso las "imágenes" de los botones no son imágenes en si, sino que están dibujadas como path, en el método:
Código Delphi [-]
TCustomBindNavigator.InitButtons;

Ahí puedes cambiar el path o imagino que cargar imágenes si te interesa.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 09-03-2022
juank1971 juank1971 is offline
Miembro
 
Registrado: feb 2008
Posts: 230
Poder: 17
juank1971 Va por buen camino
ok gracias, y otra duda como pudiera guardar las imagenes que quiero tener predeterminadas en un componente nuevo,


por ejemplo suponiendo que quiera hacer un componente parecido a un Navigator, pero con imagenes mias, agregarle por ejemplo un espacio para que me muestre el registro del grid en el que estoy parado y la cantidad total de registros etc, algo muy personalizado a mi manera:


suponiendo que parto de un rectangulo, ya lo tengo asi
Código Delphi [-]
constructor TNavGrid.Create(AOwner: TComponent);
begin
  inherited;
  RecMain:= TRectangle.Create(nil);
  With RecMain do
   begin
     Height := 25;
     Width :=  268;
     Stroke.Kind := Stroke.Kind.bkNone;
     fill.Color := TAlphaColorRec.White;
   end;
end;

ahora quisiera tener imagenes para ponerlas dentro de cada boton que voy a agregar en ese rectangulo, pero en este proyecto DPK solo tengo una unit sin nada visual , no puedo agregar un TimageList, como pudiera tener las imagenes pra ese componente,.


Resumen de la duda jjj, quiero hacer un componente visual , para ponerlo facil un rectangulo, con mas rectangulos dentro y cada rectangulo con imagenes. pero no se como utilizar imagenes que ya tengo y asignarlas a esos rectangulos para que queden de forma ya predeterminada en mi nuevo componente aunque ;luego pueda poner una propiedad que se pueda cambiar la imagen en el componente.
Responder Con Cita
  #4  
Antiguo 09-03-2022
juank1971 juank1971 is offline
Miembro
 
Registrado: feb 2008
Posts: 230
Poder: 17
juank1971 Va por buen camino
bueno para ahorarles tiempo creo que tengo la manera en un fichero de recursos o mejor dicho para no complicar las cosas como todos los delphianos en un notepat puse este codigo y lo renombre a .rc.
dentro puse esta linea y lo llame Recursos.rc

RES_IMG_OK_16X RCDATA "btn_16_ok.png"


y en la misma carpeta del proyecto puse la inagen png llamada btn_16_ok.png




luego abri una ventana msdos y puse brcc32.exe Recursos.rc y este programa que esta dentro del delphi me crea el fichero de recursos Recursos.RES

para usar este fichero dentro del proyecto pongo esta directiva de compilacion para que ekl compilador sepa usar el recurso

Código Delphi [-]


  {$R Recursos.res}


Luego puse en el mismo create este fragmento de codigo para poder usar la imagen que esta dentro del recurso y cargarla a un Timage



Código Delphi [-]


var
  B: TBitmap;
  RS: TResourceStream;
begin
  RS := TResourceStream.Create(HInstance, 'RES_IMG_OK_16X', RT_RCDATA);
  try
    B := TBitmap.Create;
    B.LoadFromStream(RS);
    Image1.Bitmap := B;
  finally
    RS.Free;
  end;


Y listo ya puedo usar imagenes dentro de un fichero de recursos que no esta dentro del proyecto. creo que con esto resuelvo
Responder Con Cita
  #5  
Antiguo 10-03-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por juank1971 Ver Mensaje
Y listo ya puedo usar imagenes dentro de un fichero de recursos que no esta dentro del proyecto. creo que con esto resuelvo
Correcto.
Usar recursos es la forma más fácil de hacer lo que necesitabas.
No sólo imágenes, sino cualquier otro elemento que necesites se puede añadir a ese fichero .RC
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 10-03-2022
juank1971 juank1971 is offline
Miembro
 
Registrado: feb 2008
Posts: 230
Poder: 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
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
iconos egostar La Taberna 7 02-10-2012 10:43:24
2 Iconos en Alt + Tab Archer Varios 2 15-06-2008 23:53:01
Iconos .png Lorenzo07 Gráficos 4 30-06-2007 10:47:56
Iconos .bmp CarmaZone Varios 2 11-03-2005 00:46:41
Iconos Sirkius Varios 8 11-06-2004 20:34:31


La franja horaria es GMT +2. Ahora son las 17:26:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi