Diferencia entre revisiones de «TfvsImageList»
Línea 4: | Línea 4: | ||
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". | 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". | ||
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. | |||
[[Archivo:20250520 1512 SELECCIONAR IMAGENES.png|miniaturadeimagen|no|Seleccionar imágenes en la aplicación.]] | [[Archivo:20250520 1512 SELECCIONAR IMAGENES.png|miniaturadeimagen|no|Seleccionar imágenes en la aplicació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.

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.