'Window Tabs' Developer Studio Add-In

WndTabs Loaded Into DevStudio
WndTabs - Sample Image
Click here for larger image

Environment: VC5, VC6, eMbedded VC++, WinCE Platform Builder, Comctl32.dll 4.71+

What is it?

Ever wished that you could quickly switch among your open workspace windows without using the "Windows" menu or Alt-Tab'bing till you drop? Well, I did.

"Window Tabs", the add-in I wrote for Microsoft Developer Studio, adds a docking tab bar. Each tab names a windows that's opened in the workspace. You can switch between the windows by simply clicking on the tab. The tabs have right-click context menus, and can quickly show you (via tool-tips) the full path of the corresponding file.

The add-in has long ago evolved beyond a simple window switcher. Some key features found in the current version are:

  • Highly configurable:
    • Control what goes on the tab: number, icon, path components, resource information.
    • Control the tab strip position (bottom/top).
    • Control the number of tab rows.     (NEW: Automatic row counts)
    • Control what goes on the tab context menus.
  • Tab context menus packed with useful features:
    • Window management functions
      • Close window/all windows
      • Close all windows except current window
      • Close all related files (file group)
      • Minimize all windows
      • Automatically (and selectively) close windows opened during debugging.   NEW!
    • File management functions
      • Save file/all files
      • Access the file's shell context menu.
      • Open a file's alternate (.h<->.cpp etc.) file - manually or automatically (NEW)
      • Toggle a file's read-only attribute for quick hack of source controlled files.
      • Open a file as a text document. For instance, get quick access to your resource file's source.
      • Open a file's containing  folder.   NEW!
    • Clipboard copy functions 
    • And others...
  • Full source code.
  • Programmatically extend WndTabs using the WndTabs SDK NEW!
  • Access tabs via keyboard shortcuts.
  • Setup wizard to set up toolbars and keyboard shortcuts.
  • Full online help.
  • Automatic setup program
  • Supports most VC variants, including VC5, VC6, eMbedded Visual C++ and CE Platform Builder.   NEW!
  • Extension module (shareware) that adds the following advanced capabilities to WndTabs:
    • Tab Grouping - allows grouping of multiple windows on the same tab.
    • Tab Coloring - custom colors for tabs.
    • Fully customizable menus NEW!
    • Fully customizable keyboard shortcuts.   NEW!

Refer to the online help for installation and usage details, and a full list of features.


What's New

Version 3.0 has been almost a year in the making, and is the most ambitious version of WndTabs to date.   This version is uses the great BCG library to implement a fully customizable UI.  This isn't as simple as it sounds: To make everything work as it should, WndTabs is no longer a simple addin.  It is now a full MFC application living inside another MFC application (Visual C++).  As you might imagine, this requires a lot of stitching code.  And although the casual user wouldn't notice (and probably wouldn't care), if you want to know how it all works, have a look at the source code.

As I said, version 3.0 is a major update to WndTabs and users of previous versions are encouraged to check out the WndTabs site for a full list of new features and bug fixes.

A feature tour is also available online.

The WndTabs Source Code

WndTabs is provided with full source code. The code demonstrates the following techniques:
  • Writing DevStudio add-ins that handle events and export commands.
  • Interfacing with other add-ins using the AddInComm library.
  • "Stealing" events from other windows by using subclassing.
  • Installing and using system message hooks (SetWindowsHookEx).  NEW!
  • Enumerating the shell namespace / full support for file context menus including the elusive "Send To..." menu.
  • Use of common controls (tabs, images, etc.)
  • Use of the MFC template based collections (CTypedPtrArray, CTypedPtrList, etc.).
  • Reusable components for HTML Help integration in MFC applications!
  • Use MFC to access Internet files.
  • Detect version updates over the net unobtrusively for both direct and dialup Internet users.
  • Small tricks of the trade:
    • Dialogs that change at runtime.
    • Storing your configuration in the registry.
  • And more...


Make sure to check out the WndTabs web site which is more likely to have updates and betas:



Download the WndTabs 3.0 Installer [binaries only] - (1,069 kb)
Download the WndTabs 3.0 Source Code Installer - (3,650 kb)


  • There are no comments yet. Be the first to comment!

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

Top White Papers and Webcasts

  • Anthony Christie, the Chief Marketing Officer for Level Communications, is responsible for customer experience, worldwide marketing and product management. In this informative asset, he shares his insights into why a private network connection to cloud-bases applications is the right decision for your enterprise. Download now to find out more.

  • Moving from an on-premises environment to Office 365 does not remove the need to plan for disruptions or reduce the business risk requirements for protecting email services. If anything, some risks increase with a move to the cloud. Read how to ease the transition every business faces if considering or already migrating to cloud email. This white paper discusses: Setting expectations when migrating to Office 365 Understanding the implications of relying solely on Exchange Online security Necessary archiving …

Most Popular Programming Stories

More for Developers

RSS Feeds

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