In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

png images

Xailer professional forum in English
Responder
Avatar de Usuario
orangesocks
Mensajes: 59
Registrado: Jue May 05, 2011 3:28 pm

png images

Mensaje por orangesocks »

Hi,
I would like to embed some png images as resources of my exe to be later used to populate the imagelists used by toolbars, buttons, etc.
I understand that I cannot use the BITMAP keyword in my resource file but RCDATA insted. But after that I'm lost.

Is it possibile ?
Do you have some code to share that can explain how to do it ?

Regards Giuseppe
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5643
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Re: png images

Mensaje por jfgimenez »

Hi Giuseppe,

just add the image to the resource manager, as it were a bitmap. Xailer does the rest.
Image285.png
Image285.png (31.42 KiB) Visto 27289 veces
BTW, in the .rc file it's used the keyword PNG. I.e.:

MyImage PNG "MiImage.png"
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Avatar de Usuario
orangesocks
Mensajes: 59
Registrado: Jue May 05, 2011 3:28 pm

Re: png images

Mensaje por orangesocks »

Hi Jose,
thanks. Xailer truly is amazing

Regards Giuseppe
Avatar de Usuario
orangesocks
Mensajes: 59
Registrado: Jue May 05, 2011 3:28 pm

Re: png images

Mensaje por orangesocks »

Hi Jose,
I tried your suggestion and the resources are added to the .exe but when I try to load them into an imagelist I got an error.
Here is the code I'm using to load the imagelist which works fine with BMP resources.

FUNCTION xtImageListLoad( poParent, pcaResource, pnSize )
LOCAL uElem AS USUAL
LOCAL oImgList AS OBJECT

WITH OBJECT oImgList := TImageList():New( poParent, pnSize, pnSize )
:Create()
IF ( HB_IsString( pcaResource ) )
//---------------------------------------------------------------------
// Load resource
//---------------------------------------------------------------------
:Add( pcaResource )
ELSEIF ( htIsArrayOfStrings( pcaResource ) )
//---------------------------------------------------------------------
// Load array of resources
//---------------------------------------------------------------------
FOR EACH uElem IN pcaResource
:Add( uElem )
NEXT
ENDIF
END

RETURN oImgList

Attached the screenshot of the output window of the debugger.

Thanks for you help. Regards Giuseppe
Adjuntos
screenshot.215.jpg
screenshot.215.jpg (48.66 KiB) Visto 17177 veces
Responder