This applies to both VS 2003 and VS 2005 (e.g. for adding a new ID to a menu in an MFC project and handling that ID in the MFC CDocument).

***PLEASE*** redesign the Event Handler Wizard. Although the current design allows the task to be completed, the usability is so bad that I find it extremely hard to believe that anyone "dogfooded" this dialog. I will pile my criticism up high for this dialog, because the rest of VS (in general) is very usable and very well designed.

For an MFC programmer, this dialog is used much more than every other dialog in VS combined. Any small usability improvements you can make here will save thousands hours of work for people.


Specific complaints:

1) When the wizard comes up, the class list always starts at the top. When you have hundreds of classes, scrolling down and finding a class is a real drag. Why not remember the last class that was used and select that one by default (i.e. it is highly likely that the user will add another handler to the same class)

2) In VS2003 (maybe 2005 too?) The Class list is NOT sorted alphabetically, which makes finding class names a brute force task. Hopefully this is addressed in VS2003 SP1?

3) Two extremely-common tasks are:
i) to add a COMMAND ***and*** an UPDATE_COMMAND_UI handler for the an ID that was just added.
ii) to add a number (>1) of menu IDs (e.g. Add/Edit/Delete functions) and then associate them with a class.

Right now you have to go in and out of the wizard for each item, which wastes tons of time (especially because of issues 1+2 above). The wizard should really let you press "Add", then select the new "ID" or "message type", press "Add" and keep going WITHOUT leaving the wizard.

Optional suggestions...

a) it would be great to have a "favourites" section in the class list. 95% of the time, the event handler is added to the (App, Doc, Mainframe, or a View). If you have access to type information (i.e. from the NCB file) could you put these classes at the top of the list? Or allow some way to add a list of class names somewhere (project settings?) so they appear at the top of the list.

b) it would also be great to have a "favourites" section in the command name (i.e. the ID). This would be the last 10 (or so) IDs that were added to the application (just grab the bottom 10 IDs from the resource.h file).

Thanks very much (for reading this far).

Warren Stevens