Archive: NSIS customer page : Display a "image" using "FileSelected" path


NSIS customer page : Display a "image" using "FileSelected" path
  Hi Experts,

Please i want to creat an NSIS customer page, this page will contain "Image" and "Fileselected".

When the user click on the button "Fileselected", he will be able to brows an image, and whene he select it, it (the image) will be display on the "image" field.

The image will be fit to the correct dimenssion (See atached file)


For that i creat a "builer.ini" file:


***93;

>NumFields=3

>***91;Field 1***93;
>Type=GroupBox
Left
=0
Right=-1
Top=0
Bottom=-1
Text=" Browse the image file "
>TxtColor=0xFFFFFF

>***91;Field 2***93;
>Type=FileRequest
Left=11
Right=-11
Top=25
Bottom=38
Filter=All files|*.*
>Flags=FILE_MUST_EXIST|FILE_EXPLORER

>***91;Field 3***93;
>Type=Bitmap
Left=50
Right=250
Top=70
Bottom=190
>

in my NSIS code "NSI" i do this program :
Page Custom Verify



where Verify is :

Function Verify
!insertmacro XPUI_INSTALLOPTIONS_EXTRACT "builder.ini";

!insertmacro XPUI_INSTALLOPTIONS_READ $justpath "builder.ini" "Field 2" "State"
!insertmacro XPUI_INSTALLOPTIONS_WRITE "builder.ini" "Field 3" "Type" "Bitmap"
!insertmacro XPUI_INSTALLOPTIONS_WRITE "builder.ini" "Field 3" "Text" $EXEDIR\Wallpaper\ImageTest.bmp
!insertmacro XPUI_INSTALLOPTIONS_WRITE "builder.ini" "Field 3" "Flags" "RESIZETOFIT"

!insertmacro XPUI_INSTALLOPTIONS_DISPLAY "builder.ini";

FunctionEnd


this code show the image, but when i select an other image i cant display it.

Please, can i find some helps

Thanks

You need a callback function that is called each time a new image is entered in the fileselect. This function will then send an update message to the image control. I have no idea how to do this with InstallOptions. But I do know that nsDialogs has built-in callback functions that you can use for just this purpose:
http://nsis.sourceforge.net/Docs/nsD...l#ref-onchange

And in any case, nsDialogs has superceded InstallOptions a long time ago. I recommend you look at the tutorial in the nsDialogs readme: http://nsis.sourceforge.net/Docs/nsD...adme.html#step


I find the solution her eBanner Plugin:

http://nsis.sourceforge.net/EBanner_plug-in