Click here to Skip to main content
Click here to Skip to main content

Toolbar & StatusBar on Dialog

By , 7 Aug 2002
 

Sample Image - DlgToolStatusBar.gif

What's New

Carried out some changes as suggested by Russ Freeman. The Changes are as follows

  • Moved all string in code to String Table
  • Delete unwanted sub-class files CStatusBar
  • Added menu to generate 3 types of ToolBars
  • Retained Old Toolbar as is
  • New Toolbars use Arrays
  • Added Date & Time on the Statusbar
  • Added message Maps for new Toolbars

Introduction

This Article demonstrates the technique of creating Toolbar and StatusBar on a Dialog Window.

To acheive the goal you create a Dialog-based project from the New Project Wizard, a blank form with Ok and Cancel buttons is created by default.

Delete the buttons since you will most probably be making the project menu-driven.

//
//  First we create the ImageList for use with the ToolBar
//  in following manner
CWinApp* pApp = AfxGetApp();
mImageList->Create(24, 24, ILC_COLOR8 | ILC_MASK,  9, 9);
mImageList->Add(pApp->LoadIcon(IDI_HELP));
mImageList->Add(pApp->LoadIcon(IDI_BOLD));
mImageList->Add(pApp->LoadIcon(IDI_DRAWING));
mImageList->Add(pApp->LoadIcon(IDI_STRIKEOUT));
//
// next we create the Toolbar
//

TBBUTTON tb;

m_ToolBar.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|TBSTYLE_FLAT, 
    CRect(0,0,0,0), this, 0);

m_ToolBar.SetImageList(&m_pImageList); 
   // Set ImageList for this Toolbar created 
   // in the previous section
tb.iBitmap = 0;
tb.iString = NULL;
tb.fsState = TBSTATE_ENABLED;
tb.fsStyle = TBSTYLE_BUTTON;
tb.idCommand = ID_HELP_ABOUT;

m_ToolBar.AddButtons(1, &tb);
tb.iBitmap = 1;
tb.idCommand = ID_BOLD;
m_ToolBar.AddButtons(1, &tb);
tb.iBitmap = 2;
tb.idCommand = ID_DRAWING;
m_ToolBar.AddButtons(1, &tb);

TBBUTTON tb1;
tb1.fsStyle = TBSTYLE_SEP;
m_ToolBar.AddButtons(1, &tb1);

tb.iBitmap = 3;
tb.idCommand = ID_STRIKEOUT;
tb.iString = NULL;
m_ToolBar.AddButtons(1, &tb);

//
// We now Create the Statusbar as show below
//

 
m_StatusBar.Create(WS_CHILD|WS_VISIBLE|SBT_OWNERDRAW,
    CRect(0,0,0,0), this, 0);

// You can set the no. of parts of the StatusBar (4 in this case) 
// and the width of each part not -1 means remaining width

int strPartDim[4]= {180, 260, 340, -1};
m_StatusBar.SetParts(4, strPartDim);

m_StatusBar.SetText(_T("Dialog / StatusBar / Toolbar"),0,0);
m_StatusBar.SetText(_T("Example"), 1, 0);
    
CString string;
string.LoadString(IDS_MYCOMPUTER);
m_StatusBar.SetText(string, 3 ,SBT_NOBORDERS   );
m_StatusBar.SetIcon(3,     SetIcon(AfxGetApp()->LoadIcon(IDI_COMP), FALSE));

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Barretto VN
India India
Member
Nothing to boast about

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralVery helpful - but image list wrong sizememberrneville7 Apr '04 - 2:09 
GeneralRe: Very helpful - but image list wrong sizememberBarretto VN8 Apr '04 - 23:49 
GeneralBug OnTimermemberTomBest12 Dec '03 - 0:03 
GeneralRe: Bug OnTimermemberBarretto VN10 Mar '05 - 2:29 
GeneralThe Menuememberjoerghamster14 Mar '03 - 1:30 
AnswerRe: The MenuememberAmar Sutar6 Apr '06 - 3:23 
GeneralRe: Some bad habits and other code comments.memberGeorge8 Aug '02 - 16:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130516.1 | Last Updated 8 Aug 2002
Article Copyright 2002 by Barretto VN
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid