Collapsible, Resizable, and Dockable XP-Style Control Bar

Environment: VC++


This class, to be inserted into your project, only needs a few functions to be set up.

Files Needed

  • CollapsiblePanel.h
  • CollapsiblePanel.cpp


  • An empty dialog to define the initial control bar size.
  • A bitmap image for the logo of the button (if required).
  • A bitmap image for the expanded icon of the button.
  • A dialog that will be displayed by the collapsible button.

Sample Code

In your CMainFrame header file, define a variable of the type "CCollapsiblePanel":

CCollapsiblePanel m_wndCollapsiblePanel;

In the CMainFrame::OnCreate() method:

  • Create the CDialog corresponding to the panels of the collapsible button:
  • CDialog* m_wndView1 = new CDialogButton1();
  • Set the Collapsible control bar (dockable, color, and bitmaps...):
  • m_wndCollapsiblePanel.CreateTheContainer(this, IDD_PANEL,
    m_wndCollapsiblePanel.SetTheBkColor(RGB(100, 149, 237));


  • Indicate whether the program uses a toolbar or a status bar:
  • m_wndCollapsiblePanel.SetTheControlBar(&m_wndToolBar,
  • Finally, append the buttons...
  • m_wndCollapsiblePanel.AppendButton("Text Button 1",
                                       IDB_BITMAP_DW, m_wndView1,
    m_wndCollapsiblePanel.AppendButton("Text Button 2",
                                       IDB_BITMAP_FW, m_wndView2,
    m_wndCollapsiblePanel.AppendButton("text Button 3",
                                       NULL, NULL, NULL);


Download demo project - 251 Kb


  • Ooooooo

    Posted by xrlc on 09/10/2004 04:56pm

    This control is a hmmm (alpha, beta, gama, delta) ... omega version!

  • HHmmmmmmm

    Posted by Legacy on 09/24/2003 12:00am

    Originally posted by: Oni

    Nice example. However when the dialog is floating and you click on an drop-down, the whole dialog moves across and down by 1 or more pixels...

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

Top White Papers and Webcasts

  • 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 …

  • Enterprises are increasingly looking to platform as a service (PaaS) to lower their costs and speed their time to market for new applications. Developing, deploying, and managing applications in the cloud eliminates the time and expense of managing a physical infrastructure to support them. PaaS offerings must deliver additional long-term benefits, such as a lower total cost of ownership (TCO), rapid scalability, and ease of integration, all while providing robust security and availability. This report …

Most Popular Programming Stories

More for Developers

RSS Feeds

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