Click here to Skip to main content
12,820,894 members (35,090 online)
Click here to Skip to main content
Add your own
alternative version


47 bookmarked
Posted 8 Feb 2004

A nice multiline ToolTipCtrl example.

, 8 Feb 2004
Rate this:
Please Sign up or sign in to vote.
A nice multiline ToolTipCtrl example looking like the one available in Delphi.

Sample Image - ToolTipEx.jpg


Well there is nothing much to say about this. This is a simple better looking multi-line tooltip control.

#pragma once
class CToolTipCtrlEx : public CToolTipCtrl
 enum Orientations
 virtual ~CToolTipCtrlEx();
 virtual void PreSubclassWindow();
 afx_msg void OnPaint();
 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
 afx_msg void OnNcPaint();
 COLORREF m_bkColor;//=RGB(255,255,255);
 COLORREF m_leftColor;//=RGB(255, 210, 83);
 COLORREF m_frameColor;//=RGB(155, 110, 53);
 COLORREF m_textColor;//=RGB(0,0,0);
 COLORREF m_arrowColor;//=RGB(0,0,0);

Just use it like a normal ToolTipCtrl control.

In the end

This is a tooltip inspired by the Delphi Flat Hint and the arrows are using the port of the Delphi drawing algorithm. This is free to use, modify it but you can't claim it. Any feedback and rating is most welcome.


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

Web Developer
Romania Romania
I have been programming for the past 6 years in VBasic, Delphi, C, C++ .
I also have extended knowledge of webdesign (HTML, CSS, JavaScript, VBScript), webprogramming (PHP, ASP, ASP.NET (C#)) and database integration (mySql, MSSQL Server).
And when I`m not programming I`m working out or working on some personal projects .
Last but not least I`m looking for a project-based job in programming or webdesign .

You may also be interested in...

Comments and Discussions

GeneralMulti Monitor support [modified] Pin
renaudgillet13-Nov-08 7:59
memberrenaudgillet13-Nov-08 7:59 
GeneralUsing ToolTipCtrlEx for toolbar Pin
Hemant K Jangid2-Oct-05 21:52
memberHemant K Jangid2-Oct-05 21:52 
GeneralTooltip for MSFlexGrid Cells Pin
ana4raj26-Oct-04 0:56
sussana4raj26-Oct-04 0:56 
GeneralTooltip for MSFlexGrid Cells Pin
Anonymous26-Oct-04 0:55
sussAnonymous26-Oct-04 0:55 
GeneralRe: Tooltip for MSFlexGrid Cells Pin
rajroy_2419-Jul-07 4:21
memberrajroy_2419-Jul-07 4:21 
Generaluncompleted removed border with removed return CToolTipCtrl::OnNcPaint(); Pin
tony_w200016-Aug-04 2:18
membertony_w200016-Aug-04 2:18 
GeneralRe: uncompleted removed border with removed return CToolTipCtrl::OnNcPaint(); Pin
TomKat16-Aug-04 3:31
memberTomKat16-Aug-04 3:31 
GeneralFix for XP / 2000 Pin
VoidIndigo6-Aug-04 4:39
memberVoidIndigo6-Aug-04 4:39 
GeneralRe: Fix for XP / 2000 Pin
VoidIndigo6-Aug-04 4:52
memberVoidIndigo6-Aug-04 4:52 
GeneralRe: Fix for XP / 2000 Pin
TomKat7-Aug-04 3:32
memberTomKat7-Aug-04 3:32 
GeneralRe: Fix for XP / 2000 Pin
VoidIndigo11-Aug-04 4:44
memberVoidIndigo11-Aug-04 4:44 
GeneralRe: Fix for XP / 2000 Pin
rspeng14-Mar-05 21:11
memberrspeng14-Mar-05 21:11 
This solution is great. But it will make the tooltip
not shown for the first time the mouse move over
the control. Therefore, I add on command as

LRESULT CToolTipCtrlAdv::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
// TODO: Add your specialized code here and/or call the base class
switch(message) {
case WM_PRINT: // eat this message, tooltips under XP / 2000 use WM_PRINT + WM_PRINTCLIENT to draw
return 0; // if we eat this message, the WM_PRINTCLIENT will be skipped and WM_PAINT will be used
// which is what we expect with our overloaded CToolTipCtrlAdv - SLC

return 0; // we should never get this... but just in case - SLC

//TRACE( _T("OTHER :0x%x\r\n"), message );

return CToolTipCtrl::WindowProc(message, wParam, lParam);

And it work well.

Spock Peng
GeneralHelp Pin
alexwinx17-Feb-04 22:42
sussalexwinx17-Feb-04 22:42 
GeneralRe: Help Pin
TomKat18-Feb-04 8:04
memberTomKat18-Feb-04 8:04 
GeneralRe: Help Pin
VoidIndigo6-Aug-04 4:41
memberVoidIndigo6-Aug-04 4:41 
General!!!Bug Fix Pin
TomKat16-Feb-04 22:08
memberTomKat16-Feb-04 22:08 
GeneralNice but .. Pin
gri14-Feb-04 2:31
membergri14-Feb-04 2:31 
GeneralRe: Nice but .. Pin
TomKat14-Feb-04 2:59
memberTomKat14-Feb-04 2:59 
GeneralRe: Nice but .. Pin
gri14-Feb-04 4:01
membergri14-Feb-04 4:01 
GeneralRe: Nice but .. Pin
mrsilver14-Feb-04 4:20
membermrsilver14-Feb-04 4:20 
GeneralRe: Nice but .. Pin
Member 222813625-Aug-08 19:46
memberMember 222813625-Aug-08 19:46 
GeneralRe: Nice but .. Pin
TomKat15-Feb-04 22:40
memberTomKat15-Feb-04 22:40 
GeneralRe: Nice but .. Pin
Fahad Ahmed29-Jul-04 11:20
memberFahad Ahmed29-Jul-04 11:20 
GeneralRe: Nice but .. Pin
swqswqswqswq31-Oct-05 9:25
memberswqswqswqswq31-Oct-05 9:25 
GeneralRe: Nice but .. Pin
Vtt13-Aug-09 0:38
memberVtt13-Aug-09 0:38 

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.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.170308.1 | Last Updated 9 Feb 2004
Article Copyright 2004 by TomKat
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid