Virtual Developer Workshop: Containerized Development with Docker

This article was contributed by Tom Archer.


Like most authors, I try and include a lot of demo applications with my books and articles. It was in the writing of one of my books that I realized that it would be really cool if all of my demo applications were to contain an About box that displayed certain information about me. Then I began to think, Wouldn't it be even better to have a button on the About box that allows the user of my application to automatically go to my web page simply by clicking on a button?

The only problem left was that I had to remember to put this code into every sample application I wrote. Knowing my luck, I just knew that the coolest application in the book would be the only one I'd forget to put the About box on! So, I struck on the idea of learning how to write a Visual C++ Custom AppWizard. Since then (I wrote this AppWizard about 2 years ago), several authors (including Paul DiLascia) have written the so-called "hyperlink control" and as a result more and more developers are including About boxes with hyperlinks to their home pages. For this reason, I finally decided to go ahead and post this article that provides a Custom AppWizard that automatically generates an About box for every application created with it.

Installing and Using the About Custom AppWizard

Simply download the .awx (Custom AppWizard DLL) into your Visual C++ template folder. It couldn't be easier to use! After that, any time you create a new project, you will see a new project type of "MFC AppWizard (exe) - About box" (see image below). Selecting this project type will, along with the standard AppWizard dialogs, present you with a dialog that allows you to enter your name, your web page URL and any general description. This description can be about the program or anything you like. For example, if you are a consultant and you want to advertise your services to anyone who is using your app, you could include information about yourself on the About Box. The Custom AppWizard will do the rest for you. When you run the application and select the About box menu option (SDI and MDI) or click the About button (Dialog app), you will see the information you entered for the app.

Persistent Settings

Another neat feature I added recently was the ability to save the settings. After all, if you just want to put generic information like your name and URL in the About box, why should you have enter that every time you create a new project. Therefore, every time you create a new project, this information gets saved to the registry just in case you want to re-use it.

More Details on Writing Custom AppWizards

I think that the code is pretty clear and it should be really easy to search and replace what you need to customize the dialog to your particular situation. However, if there's enough interest I will post details on the exact mechanics of writing a Custom AppWizard.


Download source for the Custom AppWizard - 320Kb
Download only the Custom AppWizard DLL (.awx) - 220K

About the Author

Tom Archer - MSFT

I am a Program Manager and Content Strategist for the Microsoft MSDN Online team managing the Windows Vista and Visual C++ developer centers. Before being employed at Microsoft, I was awarded MVP status for the Visual C++ product. A 20+ year veteran of programming with various languages - C++, C, Assembler, RPG III/400, PL/I, etc. - I've also written many technical books (Inside C#, Extending MFC Applications with the .NET Framework, Visual C++.NET Bible, etc.) and 100+ online articles.


  • Custom Appwizard question

    Posted by Legacy on 04/05/2003 08:00am

    Originally posted by: vinnie

    I'm making my own appwiz and the functionality is just fine.
    it adds all neccesary files and all. But the solution explorer is a mess. I want my project neatly sorted in folders and subfolder, class by class.

    I've managed to arrange it by file extension but how to I arrange the entries by filename?


    I have a folder named "WindowWrapper"
    and subfolders "CBaseWindow", "CButton"... etc etc

    in CBaseWindow I want to put CBaseWindow.cpp / CBaseWindow.h
    in CButton I want to put CButton.cpp / CButton.h

    I can't find any info on doing this or another appwizard that makes use of it.

    So does anyone know how to approach this?

  • Ask for more help about Custom AppWizard

    Posted by Legacy on 10/30/2002 08:00am

    Originally posted by: Kiki Zhang

    Your article seems good. But how can I change other settings such as the output directories and the target extent? What should I do if I want to add some Post-build commands? I want to find more details abot Custom Appwizard.
    Thanks a lot.

  • Help about Custom AppWizard.

    Posted by Legacy on 07/23/2002 07:00am

    Originally posted by: Dan


    Can anybody tell me how to customize the existing configurations of the new project by using the methods of IBuildProject and IConfiguration. The Developer Studio object model documentation did'nt help me because i'm not familiar with COM. I will be so happy if you tell me exactly how to change some of the settings (e.g. the compiler and linker settings) of the new project.

  • Good work, I want more features!

    Posted by Legacy on 04/25/2002 07:00am

    Originally posted by: DaFu Chen

    Good work. I want more features ,such as :
    1) custom About box
    2) Auto make code for tray support
    3) Auto make code for XP like's menu

    Simple to choice , then code is making for you.

  • creating appwizards

    Posted by Legacy on 08/23/2001 07:00am

    Originally posted by: cahu

    i share the opinion of giorgios. I'd be very interesting an article about creating appwizards.

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date