Include bitmaps, icons and cursors within your executable  

Send By: Q3 Team
Web : www.q3.nu
Email: dlib@q3.nu
Date: 10/05/02

Tip accessed 761 times

 


The best is to include them in the executable through a resources file. Through the Image Editor, creates a new resources file (File - >New - > ResFile) and later, add it the bitmaps or icons that you wish (Resource - >New - >Bitmap etc..) . If you have made already the biitmap, you can bring it through the clipboard

When you may have the RES file (in example: "DIBUJOS.RES", put {$R DIBUJOS.RES} in your code to include it into executable.

To use this resorurces (in ex. a Bitmap into a TImage), simply:


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



where 'nombre' is the name that you may have given to it into image editor (Resource->Rename)

Remember to free the resources loaded with LoadBitmap with DeleteObject



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).