Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version

Image Tip - A popup thumbnail shell extension

, 8 Mar 2004
A graphical tooltip to show the contents of jpgs, bmps etc
// Image_Tip.cpp : Implementation of CImage_Tip
#include "stdafx.h"
#include "ImageTip.h"
#include "Image_Tip.h"

#include "GraphicTip.h"

// CImage_Tip

HRESULT CImage_Tip::Load ( LPCOLESTR wszFilename, DWORD dwMode )
	m_FileName = wszFilename;

//	wchar_t	buf [512];
//	wcscpy (buf, L"CImage_Tip::Load ( '");
//	wcscat (buf, wszFilename);
//	wcscat (buf, L"' )\n");
//	OutputDebugStringW (buf);
    return S_OK;
HRESULT CImage_Tip::GetInfoTip ( DWORD   dwFlags, LPWSTR* ppwszTip )
	static std::wstring	m_FileNameLast;

	// We're going to create our own tooltipesque window, but with a the CPreviewBitmap in it...
//	wchar_t	buf [512];
//	wcscpy (buf, L"CImage_Tip::GetInfoTip (). m_Filename = '");
//	wcscat (buf, m_FileName.c_str ());
//	wcscat (buf, L"' m_FileNameLast = '");
//	wcscat (buf, m_FileNameLast.c_str ());
//	wcscat (buf, L"'\n");
//	OutputDebugStringW (buf);

	// Return a blank tooltip.
	IMalloc *pMalloc;
	if ( FAILED( SHGetMalloc ( &pMalloc )))
		return E_FAIL;
	*ppwszTip = (LPWSTR) pMalloc->Alloc ( (1) * sizeof(wchar_t) );
	if ( NULL == *ppwszTip )
	(*ppwszTip) [0] = 0;

	// Make sure we haven't recently shown this item, otherwise Explorer will keep on trying...
	if ( (m_FileNameLast))
		CGraphicTip::ShowTip (m_FileName);	// This is all that's needed here!

	m_FileNameLast.erase ();
	m_FileNameLast.append (m_FileName);
	return S_OK;

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.


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

Iain Clarke, Warrior Programmer
Software Developer (Senior)
Sweden Sweden
I have now moved to Sweden for love, and recently married a lovely Swede.

I started programming on BBC micros (6502) when I was six and never quite stopped even while I was supposed to be studying physics and uni.
I've been working for ~13 years writing software for machine control and data analysis. I now work on financial transaction transformation software, for a Software company in Gamlastan, Stockholm.
Look at my articles to see my excellent coding skills. I'm modest too!

| Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.150224.1 | Last Updated 9 Mar 2004
Article Copyright 2004 by Iain Clarke, Warrior Programmer
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid