65.9K
CodeProject is changing. Read more.
Home

An Apple Style Docking Bar Implemented by eGui lib

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.21/5 (10 votes)

Dec 22, 2007

CPOL
viewsIcon

37401

downloadIcon

1177

An apple style docking bar implemented by eGui lib

Screenshot -

Introduction

With eGUI widget lib, you can easily implement an apple-style docking bar. Here I introduce some code for how to implement this bar. You can visit eGui project to know more about eGUI project and source codes of eGui lib.

Using the Code

eGUI provides a CBarWidget used to implement this feature. It is easy to use using the following steps:

void CMainMenuView::TestBarWidget()
{
int nItems=8;
//Create a CBarWidget
CBarWidget* pBarWidget = new CBarWidget();
m_pBarWidget=pBarWidget;
//Listen to the CBarWidget's event
this->m_pBarWidget->GetEventModel()->AddListener(this->GetEventListener());
pBarWidget->SetBackgroundColor(RGB(216,233,226));
//Insert the CBarWidget into container.
this->m_pRootContainer->InsertWidget(pBarWidget);
WRect rc;
this->m_pRootContainer->GetRect(&rc);
rc.x=0;
rc.y=rc.dy-100;
rc.dy=150;
//Set Bar Widget's size, note which will be re-sized automatically if you add more items.
pBarWidget->SetRect(&rc);
//Use a for loop to add the CImageWidget as the item.
//note, the item can be any type widget.
char draw_cmd[128];
char img_fn[128];
CImageWidget* pImageWidget = NULL;
rc.dy=48;
rc.dx=48;
WRect rcW;
for(int i=0;i

History

  • 22nd December, 2007: Initial post