Meter bitmaps, iconos y cursores en tu ejecutable  

Enviado Por: Q3 Team
Web : www.q3.nu
Email: dlib@q3.nu
Fecha: 10/05/02

Truco accedido 94 veces

 


Lo mejor es incluirlos en el ejecutable mediante un archivo de recursos. Mediante el Image Editor crea un nuevo fichero de recursos (File->New->ResFile) y después le añades los bitmaps o iconos que desees (Resource->New->Bitmap etc...). Si tienes hecho ya el bitmap, puedes traerlo a través del portapapeles.

Una vez tengas el fichero RES, p.ej. "DIBUJOS.RES", pon {$R DIBUJOS.RES} en tu código para incluir ese fichero en el ejecutable.

Para usar cualquiera de estos recursos, p.ej. un bitmap en un TImage, bastará con:


         Image1.Picture.Bitmap.Handle := LoadBitmap(HInstance, 'nombre');



donde 'nombre' es una cadena con el nombre que le hayas dado al bitmap en el fichero de recursos (en el image editor, con Resource->Rename...)

Recuerda que los recursos tomados por LoadBitmap tienen que liberarse con DeleteObject.


Enviado por: Didier Rada (di_rad@hotmail.com)

Quiero aportar con el siguiente segmento de código:

Para usar cursores propios en su aplicación debe seguir los siguientes pasos:

  • 1. Crear los cursores y guardarlos en un archivo de recursos. Puede usar el Image Editor que viene con Delphi para este propósito.

  • 2. En la sección interface de cualquier unidad de su proyecto declare las constantes para referirse a sus cursores en el código. No es necesario hacerlo, pero mejorará la legibilidad de su código, así que es altamente recomendado.


    Estas constantes deben ser enteros positivos. Por ejemplo:


     const
       crDedo = 1;
       crRayo = 2;
    



  • 3. En la sección initialization de esta unidad, o en cualquier lugar de su proyecto antes que intente usar sus cursores, tiene que cargar los cursores del archivo de recursos. Por ejemplo:



       uses Windows;
    
       ...
    
       {$R Cursores.res}
       Screen.Cursors[crDedo] := LoadCursor(hInstance, 'DEDO');
       Screen.Cursors[crRayo] := LoadCursor(hInstance, 'RAYO');
    



    Aquí hemos asumido que "Cursores.res" es el archivo de recursos donde ha guardado sus cursores y que DEDO y RAYO son los nombres bajo los cuales los guardó.


    Eso es todo. Puede usar estos cursores del mismo modo en que usaría los cursores predefinidos. Por ejemplo:


     procedure TForm1.FormCreate(Sender: TObject);
     begin
       Self.Cursor := crRayo;
       Label1.Cursor := crDedo;
     end;
    



    También puede establecer las propiedades Cursor y DragCursor de un componente en tiempo de diseño usando el Inspector de Objetos. La única contra es que no puede usar los nombres de las constantes (por ejemplo crDedo y crRayo) sino que tiene que usar sus valores (por ejemplo 1 y 2).