PDA

View Full Version : Custom MessageBoxes?


jweinraub
22nd September 2009, 21:38
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, 06:39
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, 07:46
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, 10:44
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, 14:06
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