home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 2000 April
/
VPR0004A.BIN
/
OLS
/
SADKT100
/
sadkt100.lzh
/
SrcFiles.lzh
/
CommandSink.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-12-31
|
3KB
|
128 lines
// CommandSink.h : CCommandSink の宣言
#ifndef __COMMANDSINK_H_
#define __COMMANDSINK_H_
#include "resource.h" // メイン シンボル
#include "sari_i.h"
#include "StrSet.h"
#define DATA_KEY _T("AD_Files")
#define FLAG_MASK_A 0x000000FF
#define FLAG_MASK_B 0x0000FF00
enum flag{
F_1=0x000000001,
F_2=0x000000002,
F_3=0x000000004,
F_4=0x000000008,
F_5=0x000000010,
F_6=0x000000020,
F_7=0x000000040,
F_8=0x000000080,
F_9=0x000000100,
F_10=0x00000200,
F_11=0x00000400,
F_12=0x00000800,
F_13=0x00001000,
F_14=0x00002000,
F_15=0x00004000,
F_16=0x00008000,
F_17=0x00010000,
F_18=0x00020000,
F_19=0x00040000,
F_20=0x00080000,
F_21=0x00100000,
F_22=0x00200000,
F_23=0x00400000,
F_24=0x00800000,
F_25=0x01000000,
F_26=0x02000000,
F_27=0x04000000,
F_28=0x08000000,
F_29=0x10000000,
F_30=0x20000000,
F_31=0x40000000,
F_32=0x80000000
};
/////////////////////////////////////////////////////////////////////////////
// CCommandSink
class ATL_NO_VTABLE CCommandSink :
public CComObjectRootEx<CComSingleThreadModel>,
// public CComCoClass<CCommandSink, &CLSID_CommandSink>,
public IDispatchImpl<ICommandSink, &IID_ICommandSink, &LIBID_AD_FILESLib>
{
public:
CCommandSink()
{
m_pApl=NULL;
m_dwCookie=0;
m_dwAdvise=0;
m_wUnique=0;
}
ISRAPL *m_pApl;
DWORD m_dwCookie;
DWORD m_dwAdvise;
WORD m_wUnique;
DWORD m_dwFlag; // F_10 対応ファイルのツールバー
// F_11 ディレクトリ編集禁止のツールバー
// F_12 拡張子編集禁止のツールバー
// F_13 ReadOnly属性のツールバー
list<CString> m_sltUEDir;
list<CString> m_sltUEExt;
set<CStrSet> m_sstExt;
set<CStrSet> m_sstFile;
// DECLARE_REGISTRY_RESOURCEID(IDR_COMMANDSINK)
DECLARE_NOT_AGGREGATABLE(CCommandSink)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CCommandSink)
COM_INTERFACE_ENTRY(ICommandSink)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY_IID(DIID__ISRAPLEvents, IDispatch)
END_COM_MAP()
void OnOpenMatchFile();
void DisplayMatchFile(CString& csFile, CStrSet& cSS, ISRFile *pIFile);
void OnEnableEditDir(BOOL bEnable);
void OnEnableEditExt(BOOL bEnable);
void OnFileReadOnly(BOOL bReadOnly);
void OnDirReadOnly(BOOL bReadOnly);
void OnSetting();
void SetEnableEdit(BOOL bEnable);
void WriteRegistryData(WORD wFlag);
BOOL GetFileName(CString &csFile);
void GetRegistryData(WORD wFlag);
void GetUniqueWord();
// ICommandSink
public:
STDMETHOD(OnBroadcastMessage)(/*[in]*/long lCookie, /*[in]*/long lMessage);
STDMETHOD(OnCloseInstance)();
STDMETHOD(OnPostSave)();
STDMETHOD(OnPreSave)();
STDMETHOD(OnPostOpen)();
STDMETHOD(OnPreOpen)();
STDMETHOD(OnNewInstance)();
STDMETHOD(OnAddinCommand)(/*[in]*/long lCookie, /*[in]*/long lInnerNumber);
public:
BOOL SetObjectInfo(ISRAPL *pApl, DWORD dwCookie);
void Unadvise();
};
#endif //__COMMANDSINK_H_