Diferencia entre revisiones de «TfvsImageList»

De Pragma Wiki
Ir a la navegación Ir a la búsqueda
(Página creada con «=Introducción= El objeto '''TfvsImageList''' (Lista de imágenes) administra la lista de imágenes de la aplicación. =Identidad= Category:MANUAL/PROGRAMADOR Category:DATAMODULE *Ancestro: TImageList *Carpeta: C:\DevelopPrx\library =Descripción= El objeto '''TfvsImageList''' (Lista de imágenes) define... =Identidad= Category:MANUAL/PROGRAMADOR Category:DATAMODULE *Ancestro: TImageList *Carpeta:…»)
 
 
(No se muestran 3 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
=Introducción=
=Introducción=
El objeto '''TfvsImageList''' (Lista de imágenes) administra la lista de imágenes de la aplicación.
El objeto '''TfvsImageList''' (Lista de imágenes) administra la lista de imágenes de la aplicación.
=[[QUEESESTO/IDENTIDAD|Identidad]]=
 
[[Category:MANUAL/PROGRAMADOR]]
La aplicación usa las imágenes que están en la carpeta prxImages en la misma carpeta del ejecutable, las existentes son imágenes png de 16x16 provenientes de [https://www.famfamfam.com/ Imágenes famfamfam] (que ya no existen), eran de uso gratuito siempre que se mencionara el origen como se ve en la pantalla de "acerca de".
[[Category:DATAMODULE]]
 
*Ancestro: [[TImageList]]
Las imágenes se usan invocándolas por su nombre (por ejemplo: '''attach.png''') por lo que se pueden cambiar esas imágenes por otras siempre que sean de 16x16.
*Carpeta: C:\DevelopPrx\library
 
=Descripción=
[[Archivo:20250520 1512 SELECCIONAR IMAGENES.png|miniaturadeimagen|no|Seleccionar imágenes en la aplicación.]]
El objeto '''TfvsImageList''' (Lista de imágenes) define...
 
=[[QUEESESTO/IDENTIDAD|Identidad]]=
[[Category:MANUAL/PROGRAMADOR]]
[[Category:DATAMODULE]]
*Ancestro: [[TImageList]]
*Carpeta: C:\DevelopPrx\library
=Descripción=
El objeto '''TfvsImageList''' (Lista de imágenes) define...
=[[QUEESESTO/IDENTIDAD|Identidad]]=
=[[QUEESESTO/IDENTIDAD|Identidad]]=
[[Category:MANUAL/PROGRAMADOR]]
[[Category:MANUAL/PROGRAMADOR]]
Línea 21: Línea 14:
*Carpeta: C:\DevelopPrx\library
*Carpeta: C:\DevelopPrx\library
*Archivo: fvsImageList.pas
*Archivo: fvsImageList.pas


=Declaración=
=Declaración=
Línea 50: Línea 40:
   end;
   end;
</pre>
</pre>
=Implementación=
===constructor Create(AOwner: TComponent)===
Setea el path a las imágenes usando una función llamada '''prxApplicationPath''' que retorna la carpeta en la que se ejecuta la aplicación, más el texto '''prxImages\''':
<pre>
    ImageFolder := prxApplicationPath + 'prxImages\';
</pre>
En algún momento se iba a permitir el uso de un archivo '''prxImagePath.ini''' que indeicaría donde se encontraban las imágenes para no obligar a todos a tener la carpeta de imágenes, pero eso no está en uso.
===function nueLoadImagesFromDisk: Integer===
Carga las imágenes del disco para tenerlas listas cuando sean solicitadas.
===function nueLoadImageFromDisk(aFilename: String): Boolean===
Carga una imagen del disco y la agrega a la lista de imágenes existente.
===function GetBitmapImage(aId: String; aBitmap: TBitmap): Integer===
Dado el nombre de una imagen (por ejemplo: attach) la función la busca en la lista de imágenes y la retorna en el bitmap del argumento.
===function TfvsImageList.GetBitmapIndex(aId: String): Integer===
Dado el nombre de una imágen retorna el índice de la posición en la que se encuentra.
===function GetBitmapName(aIndex: Integer): String===
Dado un índice retorna nombre de la imagen en esa posición.

Revisión actual - 20:28 20 may 2025

Introducción

El objeto TfvsImageList (Lista de imágenes) administra la lista de imágenes de la aplicación.

La aplicación usa las imágenes que están en la carpeta prxImages en la misma carpeta del ejecutable, las existentes son imágenes png de 16x16 provenientes de Imágenes famfamfam (que ya no existen), eran de uso gratuito siempre que se mencionara el origen como se ve en la pantalla de "acerca de".

Las imágenes se usan invocándolas por su nombre (por ejemplo: attach.png) por lo que se pueden cambiar esas imágenes por otras siempre que sean de 16x16.

Seleccionar imágenes en la aplicación.

Identidad

  • Ancestro: TImageList
  • Carpeta: C:\DevelopPrx\library
  • Archivo: fvsImageList.pas

Declaración

type
  TfvsImageList = class(TImageList)
  private
    FImageNames: TStringList;
    FImageFolder: String;
  protected
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure   Loaded; override;

    function    nueLoadImagesFromDisk: Integer;
    function    nueLoadImageFromDisk(aFilename: String): Boolean;

    function    GetBitmapImage(aId: String; aBitmap: TBitmap): Integer;
    function    GetBitmapIndex(aId: String): Integer;
    function    GetBitmapName(aIndex: Integer): String;

    property    ImageNames: TStringList read FImageNames;
    property    ImageFolder: String read FImageFolder write FImageFolder;
  published
  end;

Implementación

constructor Create(AOwner: TComponent)

Setea el path a las imágenes usando una función llamada prxApplicationPath que retorna la carpeta en la que se ejecuta la aplicación, más el texto prxImages\:

     ImageFolder := prxApplicationPath + 'prxImages\';

En algún momento se iba a permitir el uso de un archivo prxImagePath.ini que indeicaría donde se encontraban las imágenes para no obligar a todos a tener la carpeta de imágenes, pero eso no está en uso.

function nueLoadImagesFromDisk: Integer

Carga las imágenes del disco para tenerlas listas cuando sean solicitadas.

function nueLoadImageFromDisk(aFilename: String): Boolean

Carga una imagen del disco y la agrega a la lista de imágenes existente.

function GetBitmapImage(aId: String; aBitmap: TBitmap): Integer

Dado el nombre de una imagen (por ejemplo: attach) la función la busca en la lista de imágenes y la retorna en el bitmap del argumento.

function TfvsImageList.GetBitmapIndex(aId: String): Integer

Dado el nombre de una imágen retorna el índice de la posición en la que se encuentra.

function GetBitmapName(aIndex: Integer): String

Dado un índice retorna nombre de la imagen en esa posición.