Skip to content
⌘ NSIS Forum Archive

MUI INSTFILES innerrectangle text

8 posts

Ragma#

MUI INSTFILES innerrectangle text

Hi,

I am new to NSIS MUI .I am trying to write Messages to inner white rectangle on MUI_PAGE_INSTFILES page.

I have showinstdetails show.so the White rectangle text box always Shows,with what ever Message I send through Details print.

I am writing stuff using details print in a loop.Instead of appending I would like to Update the Contents every time I write.

Is there a Possible way to do that?

and Is it possible to change the color of the white rectangle to something else?
Afrow UK#
1. You have to use the LVM_SETITEM message to update the last item's text. You can get the last item index from LVM_ITEMCOUNT - 1. LVM_SETITEM requires a LVITEM structure which you will have to allocate and initialise using the System plug-in. If you know some C/C++ it would be easier to write this in a DLL and call it with the System plug-in (or write the DLL as an NSIS plug-in).

Sets some or all of a list-view item's attributes. You can also send LVM\_SETITEM to set the text of a subitem. You can send this message explicitly or by using the ListView\_SetItem macro.


2. !define MUI_INSTFILESPAGE_COLORS "FFFFFF 000000" ;Two colors

Stu
Ragma#
Thank you Stu ,for a reply.
unfortunately I am not good with the programming languages.

I would like to know if it is possible to create one more box just on top of the white rectangle(like a overlay) and use Send message to Update the contents of the Box.

If possible can some one help me with the script.
Afrow UK#
If you aren't writing anything else to the list and just want to print the one message then you can just send the LVM_DELETEALLITEMS message using SendMessage before DetailPrint.

Edit: Someone has already done it:


Stu
Afrow UK#
I had some spare time so I knocked this up (build and run attached script). It will update the text for the last item in the list view as well as the text in the status label.

Stu