📄 eventhelper.h
字号:
/*
Copyright (c) 1999, kSet Lab
Author: Konstantin Bukreev
E-mail: konstantin@mail.primorye.ru
Created: 20.10.99 15:22:26
Version: 1.0.0
*/
#ifndef _EventHelper_22e1a16b_86f8_11d3_9285_0080adb811c5
#define _EventHelper_22e1a16b_86f8_11d3_9285_0080adb811c5
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
template<UINT nID, class T, class I, const IID* pdiid = &__uuidof<I> >
class _kEventHelper :
public I
{
DWORD m_dwCookie;
CComPtr<IUnknown> m_pUnkCP;
public:
void Advise()
{
T* pT = static_cast<T*>(this);
CComPtr<IUnknown> pUnk = this;
AtlAxGetControl(pT->GetDlgItem(nID), &m_pUnkCP);
AtlAdvise(m_pUnkCP, pUnk, *pdiid, &m_dwCookie);
}
void Unadvise()
{
AtlUnadvise(m_pUnkCP, *pdiid, m_dwCookie);
}
STDMETHOD(QueryInterface)(REFIID iid, void ** ppvObject)
{
if (InlineIsEqualUnknown(iid))
{
*ppvObject = static_cast<IUnknown*>(this);
return S_OK;
}
else if (InlineIsEqualGUID(iid, *pdiid))
{
*ppvObject = static_cast<I*>(this);
return S_OK;
}
return E_NOTIMPL;
}
ULONG __stdcall AddRef() {return 1;}
ULONG __stdcall Release() {return 1;}
};
#endif //_EventHelper_22e1a16b_86f8_11d3_9285_0080adb811c5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -