The MASM Forum Archive 2004 to 2012

General Forums => The Campus => Topic started by: zemtex on July 29, 2011, 05:28:37 AM

Title: MessageBox deprecated flags
Post by: zemtex on July 29, 2011, 05:28:37 AM
As you may know microsoft writes, quote:

Quote
A question-mark icon appears in the message box. The question-mark message icon is no longer recommended[/size] because it does not clearly represent a specific type of message and because the phrasing of a message as a question could apply to any message type. In addition, users can confuse the message symbol question mark with Help information. Therefore, do not use this question mark message symbol in your message boxes. The system continues to support its inclusion only for backward compatibility.

My question is, what is a good replacement, I could choose MB_ICONINFORMATION/MB_ICONASTERISK or MB_ICONEXCLAMATION/MB_ICONWARNING. Which of these is a good replacement for a 'confirmation dialog window'? I think that MB_ICONEXCLAMATION "feels" right considering the color of the icon, it is a nice icon for a quit dialog. But i'm not sure what MS recommends as a replacement for the question dialog type.

Any ideas?
Title: Re: MessageBox deprecated flags
Post by: dedndave on July 29, 2011, 05:58:50 AM
i like question because it is the only one that does not make a sound   :bg
i will continue to use it, too - lol
if they don't want us to use it - they can offer an additional flag to disable the sound
i know - i can disable the sound a couple other ways - what a headache

confirmation - i guess exclamation is a good one

i don't know, but there may be something on this subject in the user experience guideline
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=2695
Title: Re: MessageBox deprecated flags
Post by: hutch-- on July 29, 2011, 06:30:01 AM
Its not as if they are going to remove the style with the ? symbol so if it does what you need, don't be afraid to use it.
Title: Re: MessageBox deprecated flags
Post by: jj2007 on July 29, 2011, 06:43:35 AM
On my puter it works perfectly:
include \masm32\include\masm32rt.inc

.code
start: MsgBox 0, "Do you hate Microsoft", "Honestly:", MB_YESYESYES or MB_ICONQUESTION
exit

end start
Title: Re: MessageBox deprecated flags
Post by: zemtex on July 29, 2011, 07:01:31 AM
I have always used it and it works here too but I actually agree with MS in that it is easily confused with help information. I found that an explamation dialog fits perfectly for a quit dialog.

When a user press the close button the last thing he wants is a question popping up whether he wants to do that or not, I think that when a user presses 'Close', he wants a confirmation of what he is doing.
I simply rephrased the question "Quit now?" to "Closing now" and instead of MB_YESNO I replaced it with MB_OKCANCEL. I also think that a yes/no can irritate people, an OK_CANCEL confirms his choice in a way.

dedndave: It doesn't really matter whether it makes a sound or not. If you have disabled sound on your comp. then it doesn't matter. If you have sound enabled, then you obviously want to use sounds, so it doesn't matter there either. If you want the dialog to popup with maximum speed, the dialog pops up before the sound is played and doesn't affect speed. In all three points I've mentioned it does not matter. The only area that is relevant is if you care for the cycles wasted if system sound is enabled. Other than that, I see no reason to not use exclamation dialogs.  :U
Title: Re: MessageBox deprecated flags
Post by: jj2007 on July 29, 2011, 08:11:19 AM
Quote from: zemtex on July 29, 2011, 07:01:31 AMI also think that a yes/no can irritate people, an OK_CANCEL confirms his choice in a way.

Must be something cultural: I get more often confused by OKCANCEL. I like clear messages such as "Have you stopped beating your wife, yes or no?"

:bg
Title: Re: MessageBox deprecated flags
Post by: zemtex on July 29, 2011, 08:39:56 AM
It is merely a psychological issue. When faced with two alternatives that has equal weight and equal worth, the user is left with full authorithy and he have to make decisions on his own. It is perfectly ok to put a yes/no alternative once or twice, but if you leave the user with the two alternatives quite often, he will subconsciously get a feeling that the program is incomplete. Incomplete in that he have to make all the decisions where the programmer should have made them for him.

When faced with an ok_cancel alternative, half the decision is made by the programmer and the other half by the user. It adds simplicity in the sense of choices. You can instinctively make quick decisions. But like you said, it just might be a cultural thing, I cannot tell.
If you spend time thinking about where you can drop questions, you would probably find many areas where you could eliminate questions fully. Questions should not be abused.

Anyway, the beating wife sample was good  :lol
Title: Re: MessageBox deprecated flags
Post by: hutch-- on July 29, 2011, 12:42:54 PM
You have the different semantics to address different situations, YES/NO is not the same as OK/Cancel, i don't see what the big deal is about, this stuff has been around for yonks and there is nothing contentious about it.
Title: Re: MessageBox deprecated flags
Post by: zemtex on July 29, 2011, 01:58:11 PM
Different semantics indeed but when and if the two different types can replace one another, the semantics becomes less relevant and "userfriendly" becomes more relevant. From that point it gets down to cognition.
Title: Re: MessageBox deprecated flags
Post by: zemtex on August 02, 2011, 12:31:41 AM
Hutch, not to educate you but consider this:

(http://i.imgur.com/T9YHV.png)

If that button were able to speak it would say "Do you want to quit?". The user goes like:

"Yes I want to quit, therefore I will click you"

If the user faces a following dialog question "Do you want to quit" with an yes/no alternative, it is sort of redundant, the question is already answered when he clicked the button.

The close button IS a question.

Every study about software shows that users want their application to reaffirm what they are doing, in my opinion an ok/cancel is better for a quit dialog if you do need a quit dialog. Sometimes the quit dialog is entirely replaced with a save dialog so that you can "kill two cats" in one go
Title: Re: MessageBox deprecated flags
Post by: hutch-- on August 02, 2011, 12:41:15 AM
I still don't see what the big deal is about, YES NO is very well understood in English and is a viable semantic pair for a user selected course of action. OK CANCEL is a more interpreted semantic that most Windows users are familiar with but it is not the same.

YES NO is a two way split, OK CANCEL is a one choice or fail split, this is why both are available. Then you have YES NO CANCEL which makes the point. The fun starts when you create your own dialogs with more choices, 3 way splits and higher, something common with installations, FORWARD, BACK and the offered action.
Title: Re: MessageBox deprecated flags
Post by: zemtex on August 02, 2011, 01:02:13 AM
There is hardly a big deal about it, merely opinions.  :U