Click here to Skip to main content
15,886,422 members
Articles / Programming Languages / C++

Image Tip - A popup thumbnail shell extension

Rate me:
Please Sign up or sign in to vote.
3.89/5 (10 votes)
8 Mar 20043 min read 91.9K   2.4K   33  
A graphical tooltip to show the contents of jpgs, bmps etc
// Image_Tip.h : Declaration of the CImage_Tip

#ifndef __IMAGE_TIP_H_
#define __IMAGE_TIP_H_

#include "resource.h"       // main symbols

#pragma comment(lib, "comctl32.lib")


#include <comdef.h>
#include <shlobj.h>

/////////////////////////////////////////////////////////////////////////////
// CImage_Tip
class ATL_NO_VTABLE CImage_Tip : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CImage_Tip, &CLSID_Image_Tip>,
	public IPersistFile,
	public IQueryInfo
{
public:
	CImage_Tip()
	{
	}

DECLARE_REGISTRY_RESOURCEID(IDR_IMAGE_TIP)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CImage_Tip)
	COM_INTERFACE_ENTRY(IPersistFile)
	COM_INTERFACE_ENTRY(IQueryInfo)
END_COM_MAP()

public:
	std::wstring	m_FileName;
//	std::wstring	m_FileNameLast;

public:
	// IPersistFile
	STDMETHOD(GetClassID)(LPCLSID)		{ return E_NOTIMPL; }
	STDMETHOD(IsDirty)()				{ return E_NOTIMPL; }
	STDMETHOD(Load)(LPCOLESTR, DWORD);
	STDMETHOD(Save)(LPCOLESTR, BOOL)	{ return E_NOTIMPL; }
	STDMETHOD(SaveCompleted)(LPCOLESTR)	{ return E_NOTIMPL; }
	STDMETHOD(GetCurFile)(LPOLESTR*)	{ return E_NOTIMPL; }

	// IQueryInfo
	STDMETHOD(GetInfoFlags)(DWORD*)		{ return E_NOTIMPL; }
	STDMETHOD(GetInfoTip)(DWORD, LPWSTR*);

// IImage_Tip
public:
};

#endif //__IMAGE_TIP_H_

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.

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)
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!

Comments and Discussions