'Window Tabs' Developer Studio Add-In


Desktop-as-a-Service Designed for Any Cloud ? Nutanix Frame

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)

Most Popular Programming Stories

More for Developers

RSS Feeds

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