Collapsible, Resizable, and Dockable XP-Style Control Bar
Posted
by Nicolas Gazelle
on September 24th, 2003
Environment: VC++
Introduction
This class, to be inserted into your project, only needs a few functions to be set up.
Files Needed
- CollapsiblePanel.h
- CollapsiblePanel.cpp
Resources
- 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();
m_wndCollapsiblePanel.CreateTheContainer(this, IDD_PANEL,
true);
m_wndCollapsiblePanel.SetTheBkColor(RGB(100, 149, 237));
or
m_wndCollapsiblePanel.SetDefaultSystemColor(); m_wndCollapsiblePanel.SetExpandBitmap(IDB_BITMAP_EXPAND);
m_wndCollapsiblePanel.SetTheControlBar(&m_wndToolBar,
&m_wndStatusBar);
m_wndCollapsiblePanel.AppendButton("Text Button 1",
IDB_BITMAP_DW, m_wndView1,
IDD_DIALOG_BUTTON1);
m_wndCollapsiblePanel.AppendButton("Text Button 2",
IDB_BITMAP_FW, m_wndView2,
IDD_DIALOG_BUTTON2);
m_wndCollapsiblePanel.AppendButton("text Button 3",
NULL, NULL, NULL);

Comments
Ooooooo
Posted by xrlc on 09/10/2004 04:56pmThis control is a hmmm (alpha, beta, gama, delta) ... omega version!
ReplyHHmmmmmmm
Posted by Legacy on 09/24/2003 12:00amOriginally 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...
Reply