39 lines
1.2 KiB
C++
39 lines
1.2 KiB
C++
|
|
class DUIAxHost : public HWNDHost
|
|
{
|
|
public:
|
|
static HRESULT Create(Element**) { return E_NOTIMPL; } // Required for ClassInfo
|
|
static HRESULT Create(OUT DUIAxHost** ppElement) { return Create(0, AE_MouseAndKeyboard, ppElement); }
|
|
static HRESULT Create(UINT nCreate, UINT nActive, OUT DUIAxHost** ppElement);
|
|
|
|
~DUIAxHost() { ATOMICRELEASE(_pOleObject); }
|
|
|
|
// Initialization
|
|
HRESULT SetSite(IUnknown* punkSite);
|
|
HRESULT AttachControl(IUnknown* punkObject);
|
|
|
|
virtual bool OnNotify(UINT nMsg, WPARAM wParam, LPARAM lParam, LRESULT* plRet);
|
|
virtual void OnDestroy();
|
|
|
|
// Rendering
|
|
virtual SIZE GetContentSize(int dConstW, int dConstH, Surface* psrf);
|
|
|
|
// Keyboard navigation
|
|
virtual void SetKeyFocus();
|
|
virtual void OnEvent(Event* pEvent);
|
|
|
|
// ClassInfo accessors (static and virtual instance-based)
|
|
static IClassInfo* Class;
|
|
virtual IClassInfo* GetClassInfo() { return Class; }
|
|
static HRESULT Register();
|
|
|
|
DUIAxHost() : _pOleObject(NULL) {}
|
|
bool FakeTabEvent();
|
|
|
|
virtual HWND CreateHWND(HWND hwndParent);
|
|
virtual HRESULT GetAccessibleImpl(IAccessible ** ppAccessible);
|
|
|
|
private:
|
|
IOleObject* _pOleObject;
|
|
};
|