Diferencia entre revisiones de «TfvsImageList»

De Pragma Wiki
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Línea 2: Línea 2:
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.


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.
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 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.
La aplicación usa las imágenes 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.

Revisión del 20:27 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".

La aplicación usa las imágenes 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.