Let's use Visual Studio as an example. To start, Visual
Studio is made up of "regions" or areas within the application; it
has a menu bar (or in .NET 2.0 Windows control terms the MenuStrip). Below it
is multiple toolbars (or ToolStrips) that contains any toolbars buttons, drop
downs, etc., which can be turned on or off through a context menu (or
ContextMenuStrip) so that only certain toolbars are visible when needed. The
Server Explorer, Toolbox, Solution Explorer, and Team Explorer windows are
called tool windows or sidebars. These windows can appear in the left, right
or bottom sides of the window, and can either be fixed and resizable. Windows
can also be collapsible and pinnable, for space reasons. There are several
toolkits available, such as Divelement's SanDock. That leaves us with the
documents that are tabbed in the center, and the status bar on the bottom, all
which completes the major user interface items in an application.
Countless vendors use the Office API to create a user
interface or component for the variety of Office products available; the same
capabilities are being leveraged in Visual Studio, as companies realize that
they can embed their software directly into the tool instead of creating a new
interface. The real benefit is that rather than having to develop your own
custom tool, you can learn how to create an add-on and use it within the
application. There is less development effort in this approach.