Click here to Skip to main content
15,868,134 members
Articles / Desktop Programming / MFC
Article

VB style tool tip control similar to IntelliSense ToolTip

Rate me:
Please Sign up or sign in to vote.
3.58/5 (6 votes)
16 Jul 2003 58.7K   1.6K   20   4
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


Written By
Software Developer (Senior) RDV Systems
Israel Israel
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralThanks,but i have a problem Pin
Lancelot Yuan14-Jul-05 16:57
Lancelot Yuan14-Jul-05 16:57 
GeneralRe: Thanks,but i have a problem Pin
Alex Hazanov16-Jul-05 10:50
Alex Hazanov16-Jul-05 10:50 
GeneralVery Nice Pin
spaceseel29-May-05 16:52
spaceseel29-May-05 16:52 
GeneralThankyou!!! Pin
Adrian Gibbons17-Jul-03 2:02
Adrian Gibbons17-Jul-03 2:02 

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

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