Good Reasons to Use Custom Controls

I consider the following to be good reasons for employing custom controls:

  • The standard controls do not provide the behavior you need. You should never assign nonstandard behavior to standard controls, so if you really need nonstandard behavior, you need a custom control.
  • The standard controls do not provide the appearance you need. Note that with the custom draw feature, the new common controls give you quite a lot of control over how they are displayed, so you don't need custom controls to change backgrounds, fonts, colors, or margins, or to add icons.
  • You are creating a game or multimedia program that is designed primarily to entertain, and you feel that using standard controls is too boring or you want controls to have an appearance that matches the style of the program's interface.
  • You are creating a children's program or multimedia program that is designed primarily for beginning users, and you feel that standard controls are insufficient for this type of user.

I find the last two reasons to be the most interesting. Many successful games, multimedia programs, and children's programs use few standard controls. Examples include Microsoft Encarta, Microsoft Money, and Microsoft Greetings Workshop. There are several reasons for this. The first is that most multimedia applications have to compete with other alternatives. For example, Encarta has to compete with printed encyclopedias, which have extremely high production values. An online encyclopedia limited to the standard controls would not provide a comparable visual experience. The goal behind Encarta's interface is to make finding its information as pleasant an experience as possible. General productivity is not the most important goal. In fact, people sometimes use the product just for the fun of it and not to accomplish any specific task. Furthermore, people normally don't use Encarta all day, as they do professional applications such as Microsoft Visual C++ or Microsoft Office.

Programs like Greetings Workshop and children's programs use custom controls to create interfaces that even the most inexperienced user can immediately understand and operate. This makes using the program a pleasant experience for this level of user, and it maximizes the size of the product's potential market. Since the typical user runs this kind of program so infrequently, there is little need for advanced user interfaces to improve productivity. In Greetings Workshop, the assistant, Rocky the dog, helps make all tasks foolproof. (While I could easily live without Rocky, my two-year-old son, Philippe, loves him.) For example, while you are working on a project, Rocky presents all the tasks you are likely to want to perform so that you don't have to search for them.

click to view at full size.

Since modal dialog boxes can confuse beginning users, Greetings Workshop helps guide the user through the process. For example, if you click outside a modal dialog box, Greetings Workshop displays a hint, as you can see in the following screen shot, to get you back on track.

click to view at full size.

If you are creating a user interface at this level, it's fairly easy to justify using custom controls, since the standard controls simply do not provide this type of behavior.



Developing User Interfaces for Microsoft Windows
Developing User Interfaces for Microsoft Windows
ISBN: 0735605866
EAN: 2147483647
Year: 2005
Pages: 334

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net