Tabbed Dialog Box Class | CodeGuru

Tabbed Dialog Box Class

Environment: Windows NT4.0. SP5 Introduction This class implements a brand new kind of dialog box that can be used with dialog based aplications. This class contains a Tab instead of the Dialog Title Bar. What is so cool about this dialog is that the dialog actually docks to side of the desktop. Then when the […]

Written By
CodeGuru Staff
CodeGuru Staff
Feb 4, 2000
2 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Environment: Windows NT4.0. SP5

Introduction

This class implements a brand new kind of dialog box that can be
used with dialog based aplications.

This class contains a Tab instead of the Dialog Title Bar. What is so cool about this
dialog is that the dialog actually docks to side of the desktop. Then when the
dialog loses focus, the main body of the dialog disappears with
only the tab remaining visible!! This is great for admin type applications that you always
want your user to have available, yet not in the way.

Then when you
want to reactivate the dialog, instead of searching either the Task Bar or the Task
Manager for your dialog, you simply move your mouse over the dialog’s tab and the complete
dialog reappears!

Implementing the Tab Dialog

  1. Create your dialog resource as normal and get Class Wizard to generate a
    dialog class and data members for you. The dialog should’nt have the “Title
    Bar” and “System Menu” styles enabled.
  2. Insert TabDialog.cpp file into your project.
  3. include “TabDialog.h” file in your Dialog header File.
  4. Change the base class of the dialog to CTabDialog. Make sure you change
    all occurrence of CDialog to CTabDialog.
  5. On your Dialog constructor, you can modify the TabDialog properties :
    • m_hTitleIcon : handle to an icon to use as the Tab Icon
    • m_sTitle : Title to display in the Tab
    • m_bCloseBox : TRUE if you want a close bbox to appear in the Tab
    • m_bAutoTabSize : TRUE if you want the Tab Dialog to automatically
      compute the Tab size, depending of the Icon, the title and the close box.
    • m_nBorderPos : indicate the desktop border you want your tab
      dialog to be attached on.
      follwing values are possibles :
      • TAB_BORDER_LEFT
      • TAB_BORDER_RIGHT
      • TAB_BORDER_TOP
      • TAB_BORDER_BOTTOM
    • m_nXpos or m_nYpos : indicate the position in pixels of the tab
      Dialog, on the border you chosed.
    • m_bTopMost : TRUE if you want the Tab Dialog to be topMost
    • m_bAutoHide : TRUE if you want the Tab Dialog to auto show/hide
      when the mouse move on and out of it
    • m_nTabHeight : height of the tab in pixels.
    • m_nTabWidth : width of the tab in pixels (used if m_bAutoTabSize = FALSE)
  6. At runtime you can call the following methods :
    void SetTopMost(BOOL bTopMost) : specify the new TopMost status of
    the Window
    void SetAutoHide(BOOL bAutoHide): specify the new AutoHide status of
    the Window
Advertisement

The Sample Project

I have included a sample Dialog based project which illustrates how the
CTabDialog class can be used. It is a very simple dialog-based application
which displays some basic controls.

Downloads

Download demo project – 36 Kb
Download source – 8 Kb

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.