Archive: Label transparency display/overlapping


Label transparency display/overlapping
Hi all. A little new to NSIS so, hopefully this is an easy answer - couldn't find one elsewhere.

I'd been using NSD_SetText in my script to update labels based on workflow/states. I started using transparency for the background instead of a bg color, but now whenever a label is updated with NSD_SetText it displays both the new and the old label "on top of each other".

This appears to be a refresh issue, because if I slide the window off frame and back the correct text only appears.

How to best resolve this? Is there a better instruction to use for this other than NSD_SetText or must I do something to force a refresh? The latter would be discouraging...lots of lines to add --> insert sadface.

Thanks very much for your help


So a very unwelcome and undesirable workaround is to issue

ShowWindow $Label ${SW_HIDE}
ShowWindow $Label ${SW_SHOW}

Every time after I send NSD_SetText to $Label that already has text in it.

This can't be the typical way everyone updates transparent background labels, or is a bug in NSD? or I'm just not doing something right/using a better command or method ?


Anyone? Is this a bug in nsDialogs with SetText? If so I'd be happy to file a bug report


That's the way to go. Transparent labels have no background to erase themselves with because you want to see what's behind them. Therefore, to delete them, you have to restore to trickery like this.