jweinraub
22nd September 2009 22:38 UTC
Custom MessageBoxes?
Hi,
Before my software gets installed, I like a messagebox to be displayed, with a warning. I want the end user to select a checkmark that says [ ] Yes, I agree to the terms.
The [ ok ] button should not be enabled until the yes is checked. Other wise the user chooses cancel to quit.
How can this be accomplished? EULA field is not appropriate here, I think. Because it is not a licence, its a warning.
Though if EULA has to be used, I want it so that the entire message is scrolled to the bottom before yes/no is enabled.
The message box text is not that long, however, i just need the enduser to read and accept this message. a warning box in the oninit field would be where I want this to occur.
Thanks so much!
jpderuiter
23rd September 2009 07:39 UTC
Custom Messageboxes:
http://nsis.sourceforge.net/MessageBox_plug-in
But I don't think you can (temporarily) disable a button.
I think you better go with a license page.
To force scroll down:
http://nsis.sourceforge.net/ScrollLicense_plug-in
MSG
23rd September 2009 08:46 UTC
Tip: Forcing License scrolldown is both utterly useless and extremely bad practice. Forcing a scrolldown will NOT force anyone to actually read it. You'll probably only end up annoying your users.
If you want people to read your license, it's a much much better idea to make the license EXTREMELY short. Say, ten lines tops.
Yathosho
23rd September 2009 11:44 UTC
i'm not aware of another messagebox plugin but the one mentioned. you might have to use nsDialogs instead. i'm not sure if you can use a different UI for nsDialogs pages, that way you could use something of the size of a messagebox.
i really hope that nsDialogs will one day allow the customization of all parts of a standard nsis installer: including messageboxes, components and instfiles page.
Originally posted by MSG
Tip: Forcing License scrolldown is both utterly useless and extremely bad practice. Forcing a scrolldown will NOT force anyone to actually read it. You'll probably only end up annoying your users.
If you want people to read your license, it's a much much better idea to make the license EXTREMELY short. Say, ten lines tops.
i agree with your opinion about license scrolldown, but don't forget there are legal reasons for the length of some licenses
jweinraub
23rd September 2009 15:06 UTC
Okay, I agree with your scrolling thing. I hate it too.
Our licence is very long due to the legal departments requirements. In fact we have two EULAs for hardware and software needs.
I thought a third EULA would be out of the question.
This is a warning message, more a legal disclaimer that pretty much doesnt hold us responsible if an enduser uses a new feature irresponsibly and it causes harm to humans and/or property kind of thing.
The department wanted a warning message that the user had to read, but the check mark he wanted that stated, "I have read the above and agree to its terms..."
Is there a way to say build this kind of dialogue in C++, compile it as a dll?
The warning note is fairly wordy (163 words total) but I am thinking of genericising it so i can pass the text as a string and have the rest of hte behaviour.
Something like this:
http://www.weinraub.net/crudeMsgBox.png