How do I create a wizard that contains none of the things that makes a wizard a wizard?


A customer asked

We're using the Property­Sheet function to create a wizard. We've been able to remove almost all of the wizard elements, but we can't figure out how to get rid of the footer area. Is there a way to get rid of that?

The customer included a picture of what they were talking about, with the offending area highlighted:

  ×  

Text text text

Text text text


This area

Um, that footer area is where the Back/Next buttons go. If you remove the navigation buttons, then what you have isn't really a wizard any more.

What you've got there is a dialog box.

So use a dialog box.

You've ordered a cheeseburger and are trying to remove every last bit of cheese. Don't do that. Just order a hamburger if that's what you want.

Comments (23)
  1. 12BitSlab says:

    I'll have a Wizard Burger with cheese.  Please hold the cheese.

  2. Joshua says:

    Perhaps they kept the previous/next scheme internally and don't know another way to switch sheets.

  3. Dan Bugglin says:

    Side note: You can't order a double hamburger meal at McDonalds. They literally don't have a button on their keyboard for it. They have to input it as a double cheeseburger without cheese.

  4. chrisd says:

    @MAZZTer: That's "Five Easy Pieces" come to life.

    <a href="http://www.youtube.com/watch the chicken</a>

  5. Brian_EE says:

    >They literally don't have a button on their keyboard for it.

    I would argue that what they serve is false advertising (i.e. how can you call those things hamburgers?).

    Go to a place where they grind the meat on site and hand press it into a burger. You will be much more satisfied.

  6. chrisd says:

    OK, so I messed up the link, but it still works. It's "Hold the chicken".

  7. skSdnW says:

    Setting up a wizard is more work than calling DialogBox() so there has to be some functionality in the wizard dlgproc that they need. I refuse to believe that they don't know DialogBox/CreateDialog exists.

    Killing all child windows can be done with a FindWindowEx+DestroyWindow loop. This leads us back to the real question, why does their dialog have to be based on a wizard?

  8. Martin says:

    Raymond, I have a little OT question and desire. I always enjoy your HTML rendered windows with all the possible details. Do you plan to write tutorial about this? I would love it!

  9. Henri Hein says:

    My guess would be that they have some kind of general framework that calls up property pages that sometimes act as part of wizards and sometimes standalone, and that the underlying code is structured so that it's difficult to change the call to PropertySheet().  That said, I love your propensity to call a spade a spade.

  10. Alex Cohn says:

    Once, I did just the opposite - I reimplemented all the structure of PropertySheet based Wizard flow in DHTML. I found many hidden gems in the seemingly simple Wizard framework.

  11. 12BitSlab says:

    Forgot to mention -- happy 60th to billg!

  12. Dave says:

    @The MAZZTer: At In-n-Out Burger you can order odd designs if you know the special names for them (they're not listed anywhere, a friend with odd tastes told me about them).  For example there's a burger that's just two buns and a beef patty, nothing else.  Unfortunately I can't remember any of the magic names, I just eat COTS burgers.

  13. Timothy Byrd (ETAP) says:

    Dave - that's the "Secret menu" - you can read about it on Wikipedia. (And they say it can be found on the In-n-Out corporate site.)

  14. Azarien says:

    Why would anyone order a hamburger instead of a cheeseburger? :-)

  15. cheong00 says:

    @Azarien: Some people are allegic to dairy products.

  16. Benjy says:

    @Azarian Technically the Jewish prohibition on eating meat and dairy is stricter than the prohibition on eating meat which isn't Kosher. So someone might say "I'll eat non Kosher meat but not with dairy". Of course, you then get into the discussion as to whether meat which isn't Kosher is meat in Jewish law....

  17. Scott Brickey says:

    sometimes the straightforward way ends up costing more. The dish my wife orders at Taco Bell has been discontinued, yet she is still able to order it by asking for the ingredients, which coincidentally cost LESS than the dish had originally cost.

    As far as the analogy goes, perhaps there's an odd reason why they want to use a wizard.

  18. Anon says:

    @The MAZZTer

    Not true. They've been selling a double hamburger for YEARS now. A Double Cheeseburger is no longer the default.

  19. Rosalinda Ramirez says:

    Part of the problem is the ‘wizard’ name, it just sounds like it'll make everything easy, and people associate it with just clicking ‘Next’ in installer wizards. I've been asked to build wizards, usually including navigation buttons, for use cases where a wizard was a terrible choice of user interface. But people do insist and won't pay unless you give them a wizard, so you give them a wizard, knowing they'll like it because it's a ‘Wizard’ and knowing they'll never get to compare their situation with alternate reality where they got what they needed so they'll never realise just how bad your shoddy wizard is.

  20. @Martin: There are millions of apps that can do this. I myself am more at home with hand-coding when it is not something fancy and complex.

    [It's all hand-coded. -Raymond]
  21. JoeWhite says:

    No link to your original use of the cheeseburger analogy?

    blogs.msdn.com/.../3821577.aspx

  22. mockmyberet says:

    I also need to add some buttons, maybe like Back, Next and Cancel...

    [It's funny because it's true. -Raymond]
  23. Mark Ransom says:

    @MAZZTer there are actually two different double cheeseburgers on the McDonalds menu, the regular double cheeseburger and the McDouble. The double cheeseburger gets two slices of cheese, the McDouble only one. The McDouble ends up being a few cents cheaper as a result, so that's the one I order - minus the cheese.

Comments are closed.

Skip to main content