After I talked with Anders (thanks) I think I found some solutions. I will paste it here,
maybe someone of you need it too...
So,
To display icon with big size, for example 128x128, I prepared such icon and use this code:
File /oname=$PLUGINSDIR\test.ico "test.ico" ; Hmm, how to display slash here?
File /oname=$PLUGINSDIR\test.bmp "test.bmp"
Var /Global IMAGECTL
Var /Global IMAGE
; Loading transparent icon with big size!
nsDialogs::CreateControl STATIC ${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS}|${SS_ICON} 0 120u 0 100% 100% ""
Pop $IMAGECTL
StrCpy $0 $PLUGINSDIR\\test.ico
System::Call 'user32::LoadImage(i 0, t r0, i ${IMAGE_ICON}, i 0, i 0, i ${LR_LOADFROMFILE}) i.s'
Pop $IMAGE
SendMessage $IMAGECTL ${STM_SETIMAGE} ${IMAGE_ICON} $IMAGE
And, I guess we need to free the resources...
System::Call 'gdi32:DeleteObject(i $IMAGE)'
We can also use another method. We can use "transparent bitmap". This will display bitmap
with transparent background. Here is an example. You must use 8bpp bitmap.
; Loading Bitmap with transparent background. 8bpp only.
nsDialogs::CreateControl STATIC ${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS}|${SS_BITMAP} 0 100u 20u 109u 193u ""
Pop $IMAGECTL
StrCpy $0 $PLUGINSDIR\\test.bmp
System::Call 'user32::LoadImage(i 0, t r0, i ${IMAGE_BITMAP}, i 0, i 0, i ${LR_LOADFROMFILE}|${LR_LOADTRANSPARENT}|${LR_LOADMAP3DCOLORS}) i.s'
Pop $IMAGE
SendMessage $IMAGECTL ${STM_SETIMAGE} ${IMAGE_BITMAP} $IMAGE
System::Call 'gdi32:DeleteObject(i $IMAGE)'
Try it.
If someone think it could be done another way, please share your knowledge.
-Pawel