home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BUG 15
/
BUGCD1998_06.ISO
/
aplic
/
recent
/
recent.exe
/
Chooser.h
< prev
next >
Wrap
C/C++ Source or Header
|
1998-04-13
|
1KB
|
47 lines
#pragma once
#include <ObjModel\addguid.h>
#include <ObjModel\appguid.h>
#include <ObjModel\bldguid.h>
#include <ObjModel\textguid.h>
#include <ObjModel\dbgguid.h>
#include "resource.h"
class ATL_NO_VTABLE Chooser :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<Chooser, &CLSID_Chooser>,
public IDSAddIn,
public IDispatchImpl<IChooser, &IID_IChooser, &LIBID_Recent>
{
public:
Chooser()
{
}
DECLARE_REGISTRY_RESOURCEID(IDR_CHOOSER)
BEGIN_COM_MAP(Chooser)
COM_INTERFACE_ENTRY(IChooser)
COM_INTERFACE_ENTRY2(IDispatch, IChooser)
COM_INTERFACE_ENTRY(IDSAddIn)
END_COM_MAP()
CComPtr<IApplication> m_spApplication;
DWORD m_dwAddInID;
// IDSAddIn methods
public:
STDMETHOD(OnConnection)(IApplication* pApp, VARIANT_BOOL bFirstTime, long dwCookie, VARIANT_BOOL* bOnConnection);
STDMETHOD(OnDisconnection)(VARIANT_BOOL bLastTime);
// IChooser
public:
STDMETHOD(ChooseRecentFile)();
STDMETHOD(ChooseRecentWorkspace)();
private:
HRESULT ChooseRecent(const TCHAR* title, const TCHAR* prefix, const TCHAR* append = NULL);
static bool FillList(list<tstring>& files, const tstring& prefix);
};