Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

VB style tool tip control similar to IntelliSense ToolTip

0.00/5 (No votes)
16 Jul 2003 2  
Tool tip control similar to Visual Basic IntelliSense tool tip

Sample Image - intellitip.jpg

Introduction

This is a CDialog derived window, which resembles the tool tip that pop-ups with function parameters in Visual Studio IDE. The control allows to display a function definition with it's parameters and mark the current parameter in bold font.

Usage

  1. Add a dialog resource to your project. Make sure to set the following for this dialog:
    Style = popup. 
    Border = None.
    No TitleBar
  2. Add the dialog as a member to your application's main window.
  3. Call create for the dialog while passing pointer to the window that the tool tip belongs to: m_intelliToolTip.Create(pParentWnd).
  4. Add a function definition:
    BOOL CIntelliTipDemoDlg::OnInitDialog()
    {
     CDialog::OnInitDialog();
    
     // Set the icon for this dialog.  The framework does this automatically
    
     //  when the application's main window is not a dialog
    
     SetIcon(m_hIcon, TRUE);   // Set big icon
    
     SetIcon(m_hIcon, FALSE);  // Set small icon
    
     
     // TODO: Add extra initialization here
    
     m_tip.Create(this);
     CStringArray params;
     params.Add("Param 1");
     params.Add("Param 2");
     params.Add("Param 3");
     params.Add("Param 4");
     params.Add("Param 5");
     m_tip.SetFunction("SomeFunction",params);
     m_tip.SetCurParam(3);
     return TRUE;  // return TRUE  unless you set the focus to a control
    
    }

When you need to show the tool tip, call CIntelliTip::Show() or CIntelliTip::Hide() to hide it. To set the position, call CIntelliTip::SetCursorPoint(cursorPoint). Example:

void CIntelliTipDemoDlg::OnButton1() 
{
 // TODO: Add your control notification handler code here

 CPoint pt;
 GetCursorPos(&pt);
 ScreenToClient(&pt);
 m_tip.SetCursorPoint(pt);
 m_tip.Show();
}

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