Click here to Skip to main content
Click here to Skip to main content

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

Introduction

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
{
 DECLARE_DYNAMIC(CToolTipCtrlEx)
 enum Orientations
 {
  NW=1,
  NE,
  SW,
  SE,
 };
public:
 CToolTipCtrlEx();
 virtual ~CToolTipCtrlEx();
protected:
 DECLARE_MESSAGE_MAP()
 virtual void PreSubclassWindow();
private:
 afx_msg void OnPaint();
 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
 afx_msg void OnNcPaint();
public:
 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.

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

Share

About the Author

TomKat
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 .

Comments and Discussions

 
GeneralMulti Monitor support [modified] Pinmemberrenaudgillet13-Nov-08 6:59 
GeneralUsing ToolTipCtrlEx for toolbar PinmemberHemant K Jangid2-Oct-05 20:52 
GeneralTooltip for MSFlexGrid Cells Pinsussana4raj25-Oct-04 23:56 
GeneralTooltip for MSFlexGrid Cells PinsussAnonymous25-Oct-04 23:55 
GeneralRe: Tooltip for MSFlexGrid Cells Pinmemberrajroy_2419-Jul-07 3:21 
Generaluncompleted removed border with removed return CToolTipCtrl::OnNcPaint(); Pinmembertony_w200016-Aug-04 1:18 
GeneralRe: uncompleted removed border with removed return CToolTipCtrl::OnNcPaint(); PinmemberTomKat16-Aug-04 2:31 
GeneralFix for XP / 2000 PinmemberVoidIndigo6-Aug-04 3:39 
Under XP / 2000 tooltips use WM_PRINT / WM_PRINTCLIENT to do the drawing. I figured this out after a half a day of tracing through Windows events by hand.
 
Add this to the CTooTipCtrlEx and it fixes the problem:
 
LRESULT CToolTipCtrlEx::WindowProc( UINT message, WPARAM wParam, LPARAM lParam )
{
	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
		break;		// which is what we expect with our overloaded CToolTipCtrlEx - SLC
	case WM_PRINTCLIENT:
		return 0;	// we should never get this... but just in case - SLC
		break;
	default:
		//TRACE( _T("OTHER :0x%x\r\n"), message );
		break;
	}
	return CToolTipCtrl::WindowProc( message, wParam, lParam );
}
 
Thanks for the great work!

 
-
Void
GeneralRe: Fix for XP / 2000 PinmemberVoidIndigo6-Aug-04 3:52 
GeneralRe: Fix for XP / 2000 PinmemberTomKat7-Aug-04 2:32 
GeneralRe: Fix for XP / 2000 PinmemberVoidIndigo11-Aug-04 3:44 
GeneralRe: Fix for XP / 2000 Pinmemberrspeng14-Mar-05 20:11 
GeneralHelp Pinsussalexwinx17-Feb-04 21:42 
GeneralRe: Help PinmemberTomKat18-Feb-04 7:04 
GeneralRe: Help PinmemberVoidIndigo6-Aug-04 3:41 
General!!!Bug Fix PinmemberTomKat16-Feb-04 21:08 
GeneralNice but .. Pinmembergri14-Feb-04 1:31 
GeneralRe: Nice but .. PinmemberTomKat14-Feb-04 1:59 
GeneralRe: Nice but .. Pinmembergri14-Feb-04 3:01 
GeneralRe: Nice but .. Pinmembermrsilver14-Feb-04 3:20 
GeneralRe: Nice but .. PinmemberMember 222813625-Aug-08 18:46 
GeneralRe: Nice but .. PinmemberTomKat15-Feb-04 21:40 
GeneralRe: Nice but .. PinmemberFahad Ahmed29-Jul-04 10:20 
GeneralRe: Nice but .. Pinmemberswqswqswqswq31-Oct-05 8:25 
GeneralRe: Nice but .. PinmemberVtt12-Aug-09 23:38 

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

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

| Advertise | Privacy | Mobile
Web03 | 2.8.140827.1 | Last Updated 9 Feb 2004
Article Copyright 2004 by TomKat
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid