CodeGuru
Earthweb Search
Forums Wireless Jars Gamelan Developer.com
CodeGuru Navigation
Member Sign In
User ID:
Password:
Remember Me:
Forgot Password?
Not a member?
Click here for more information and to register.

Become a Marketplace Partner

jobs.internet.com

internet.commerce
Partners & Affiliates
















RSS Feeds

RSSAll

RSSVC++/C++

RSS.NET/C#

RSSVB

See more EarthWeb Network feeds

Home >> Visual C++ / C++ >> Controls >> Treeview Control >> Misc - Advanced


Tooltips For Tree Control Items
Rating: none

Annapurni Mallikarjunan (view profile)
February 18, 1999

Changing the tool tip as the mouse pointer moves along different tree control items is fairly simple. The tree control can be on a dialog, property page or a form view. Assuming that you use a class derived from CFormView called CMyFormView, which has a tree control, the steps to follow are:

  1. Declare a member variable for the tree control (IDC_TREE1), m_tree.
  2. Decide on how the tip for each tree item will be stored. For instance, you could hold the tip in a map which you declare in the header file CMyFormView.h.
    	CMap< HTREEITEM,HTREEITEM&,CString,CString& > tooltipMap;
  3. Fill the map as you generate the items of the tree. For instance after every InsertItem:
    	HTREEITEM hItem = m_tree.InsertItem(&tvItem); // tvItem is of type TV_INSERTSTRUCT
    	tooltipMap[hItem] = " Tool Tip Text   ";   // Set the tool tip text of the item.
    	
  4. Declare an object of CToolTipCtrl in the header file CMyFormView .h
    	CToolTipCtrl m_tooltip;
  5. Create the tool tip control and initialize it in the OnInitialUpdate message handler (OnInitDialog for CDialog derived classes)
    	m_tooltip.Create(this);
    	m_tooltip.Activate(TRUE);
    	m_tooltip.AddTool(GetDlgItem(IDC_TREE1), "Tree Tool Tip");
    
  6. Override the PreTranslateMessage in the form view.
    	BOOL CMyFormView::PreTranslateMessage(MSG* pMsg)
    	{
    		// TODO: Add your specialized code here and/or call the base class
    		if(pMsg->message == WM_MOUSEMOVE && pMsg->hwnd == m_tree.m_hWnd)
    		{
    		CPoint point(LOWORD(pMsg->lParam),HIWORD(pMsg->lParam));
    			HTREEITEM hItem = m_tree.HitTest(point);
    			if(hItem != NULL)
    			{
    				CString text = tooltipMap[hItem];
    				m_tooltip.UpdateTipText(text,&m_tree);
    				m_tooltip.RelayEvent(pMsg);
    			}
    
    		}
    	}
    	
    This changes the tool tip text as the mouse pointer moves along the different items in the tree control.

Tools:
Add www.codeguru.com to your favorites
Add www.codeguru.com to your browser search box
IE 7 | Firefox 2.0 | Firefox 1.5.x
Receive news via our XML/RSS feed







RATE THIS ARTICLE:   Excellent  Very Good  Average  Below Average  Poor  

(You must be signed in to rank an article. Not a member? Click here to register)

Latest Comments:
Here's some code to fixes stays forever problem and more - Axter (12/07/2004)
Working Good! Thank You!! - Legacy CodeGuru (03/26/2003)
UpdateTipText has no effect - Legacy CodeGuru (10/23/2001)
The tooltip stays there forever - Legacy CodeGuru (05/02/2000)
Tooltip is not always removed when pointing at beyond bottom item. - Legacy CodeGuru (02/18/2000)

View All Comments
Add a Comment:
Title:
Comment:
Pre-Formatted: Check this if you want the text to display with the formatting as typed (good for source code)



(You must be signed in to comment on an article. Not a member? Click here to register)


JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Intel PDF: Virtualization Delivers Data Center Efficiency
Intel eBook: Managing the Evolving Data Center
Microsoft Article: BitLocker Brings Encryption to Windows Server 2008
Symantec eBook: The Guide to E-Mail Archiving and Management
Microsoft Article: RODCs Transform Branch Office Security
Go Parallel Article: James Reinders on the Intel Parallel Studio Beta Program
Avaya Article: Advancing the State of the Art in Customer Service
Adobe Acrobat Connect Pro: Web Conferencing and eLearning Whitepapers
Avaya Article: Avaya AE Services Provide Rapid Telephony Integration with Facebook
Go Parallel Article: Getting Started with TBB on Windows
HP eBook: Storage Networking , Part 1
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Seminar: Efficiencies in Hardware/Software Virtualization
HP Webcast: Disaster Recovery Planning
Go Parallel Video: Performance and Threading Tools for Game Developers
HP Video: StorageWorks EVA4400 and Oracle
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
IBM TCO eKIT: Your IT Budget is Under Attack, Get in Control
IBM Energy Efficiency eKIT: Learn How to Reduce Costs
30-Day Trial: SPAMfighter Exchange Module
Red Gate Download: SQL Toolbelt and free High-Performance SQL Code eBook
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
Microsoft Article: Silverlight Streaming--Free Video Hosting for All
Featured Algorithm: Intel Threading Building Blocks - parallel_reduce
HP Demo: StorageWorks EVA4400
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES