Using Hot Toolbar Buttons


.
If you are interested in more articles written by Kirk Stowell, you can

click here
to visit his home page.

If you wanted to add hot toolbar buttons like the ones seen in internet explorer, it is pretty
straight forward. This approach for will work for both Visual C++ 5 and 6, however you may
want to read up on the enhancements to the toolbar class for VC 6.0.

After your toolbar has been created in CMainFrame::OnCreate(), you will
need to add the following code, this is assuming that you have two bitmap resources already
created IDB_TOOLBAR_COLD for normal, and IDB_TOOLBAR_HOT for hot buttons:


	// Set up hot bar image lists.
	CImageList	imageList;
	CBitmap		bitmap;

	// Create and set the normal toolbar image list.
	bitmap.LoadBitmap(IDB_TOOLBAR_COLD);
	imageList.Create(21, 20, ILC_COLORDDB|ILC_MASK, 13, 1);
	imageList.Add(&bitmap, RGB(255,0,255));
	m_hotToolBar.SendMessage(TB_SETIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
	imageList.Detach();
	bitmap.Detach();

	// Create and set the hot toolbar image list.
	bitmap.LoadBitmap(IDB_TOOLBAR_HOT);
	imageList.Create(21, 20, ILC_COLORDDB|ILC_MASK, 13, 1);
	imageList.Add(&bitmap, RGB(255,0,255));
	m_hotToolBar.SendMessage(TB_SETHOTIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
	imageList.Detach();
	bitmap.Detach();

The send message portion of the code has been wrapped into a CToolBarCtrl() function
call for Visual C++ 6. If you will notice, I have used 24 bit color images with the toolbar
shown here, so you are not limited to just 16 colors.

Download demo project - (30 KB)

Last updated December 21, 1998

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read