Click here to Skip to main content
Licence 
First Posted 16 May 2001
Views 120,299
Downloads 1,223
Bookmarked 35 times

Adding Text to a Docking Toolbar

By | 16 May 2001 | Article
This article demonstrates an easy way to add text to a docking tool bar

Introduction

This article demonstrates an easy way to add text  to a docking tool bar. I needed to add text to the toolbar for my dBase Explorer project (visit my web site for detail information: http://www.codearchive.com/~dbase/). Although I found some articles on it in the code projects site. Most of them are difficult to implement and you need to add a lot of coding or even a new class. Finally I found the easy way to add text to a toolbar. So I would like to share it with the rest of the world. This article shows how you can add text to a toolbar only by adding a few lines of code.

In order to add text to a toolbar you need to declare a member variables type CToolBar to the CMainFrame class as shown below:

//
// Any source code blocks look like this
class CMainFrame : public CFrameWnd
{
	
protected: // create from serialization only
	CMainFrame();
	DECLARE_DYNCREATE(CMainFrame)

protected: // control bar embedded members
CStatusBar m_wndStatusBar;
CToolBar m_wndToolBar;

...
};

If you use App Wizard to create your application, the member variable will be declared for you so do you do not need to declared it by yourself. However, you have to call the SetButtonText function with two parameters. The first one is the index of the icon, and the second one is the actual text. The text will appear just below the icon. The index starts from 0. Each separator has also an index, so you have to count that too. The program listing below shows the index of each icon and also the text for each icon.

The complete listing of OnCreate function is given below:

//
//
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
		| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
		!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
	{
		TRACE0("Failed to create toolbar\n");
		return -1;      // fail to create
	}

	if (!m_wndStatusBar.Create(this) ||
		!m_wndStatusBar.SetIndicators(indicators,
		  sizeof(indicators)/sizeof(UINT)))
	{
		TRACE0("Failed to create status bar\n");
		return -1;      // fail to create
	}

    	m_wndToolBar.SetButtonText(0,"New");
	m_wndToolBar.SetButtonText(1,"Open");
	m_wndToolBar.SetButtonText(2,"Save");
	m_wndToolBar.SetButtonText(4,"Cut");
	m_wndToolBar.SetButtonText(5,"Copy");
	m_wndToolBar.SetButtonText(6,"Paste");
	m_wndToolBar.SetButtonText(8,"Print");
	m_wndToolBar.SetButtonText(10,"About");
	m_wndToolBar.SetSizes(CSize(42,38),CSize(16,15));


	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar(&m_wndToolBar);

	return 0;
}

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

zhaque

Web Developer

Australia Australia

Member



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

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralCToolBarAutoSizeText PinmemberNathan Lewis18:28 15 Nov '06  
Questionshow text on the right side of icon? PinmemberLinux dotMicrosoft17:16 28 Sep '06  
AnswerRe: show text on the right side of icon? Pinmemberbob169723:58 8 Dec '06  
GeneralNot the best EASY way... Pinmemberdrake287:10 27 Dec '04  
QuestionAdding Left aligned text? PinmemberNing Cao1:25 2 Feb '04  
AnswerRe: text only toolbar Pinmemberdrake2821:49 26 Dec '04  
GeneralRe: text only toolbar PinmemberPriya_Sundar0:57 27 Jan '09  
GeneralAdjust the size of the toolbar after adding button text Pinmemberstokos11:58 16 Dec '03  
QuestionWhere is my text? Pinmemberfenddy21:06 17 Aug '03  
GeneralHey MR. Lame, you are Lame PinmemberMike L.9:25 20 Dec '01  
GeneralRe: Hey MR. Lame, you are Lame PinsussliquidShit2:30 10 Jun '04  
GeneralMagic numbers and other questions PinmemberMarc Clifton14:19 29 May '01  
GeneralNo Need to Hard Code the Text Either PinmemberPeter M. Yee10:30 18 May '01  
GeneralRe: No Need to Hard Code the Text Either PinmemberviZual12:22 6 Jan '02  
GeneralNo need to hard code the indexes PinmemberMarkus Axelsson22:28 17 May '01  

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

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web04 | 2.5.120517.1 | Last Updated 17 May 2001
Article Copyright 2001 by zhaque
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid