Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.2 KiB

  1. class DUIAxHost : public HWNDHost
  2. {
  3. public:
  4. static HRESULT Create(Element**) { return E_NOTIMPL; } // Required for ClassInfo
  5. static HRESULT Create(OUT DUIAxHost** ppElement) { return Create(0, AE_MouseAndKeyboard, ppElement); }
  6. static HRESULT Create(UINT nCreate, UINT nActive, OUT DUIAxHost** ppElement);
  7. ~DUIAxHost() { ATOMICRELEASE(_pOleObject); }
  8. // Initialization
  9. HRESULT SetSite(IUnknown* punkSite);
  10. HRESULT AttachControl(IUnknown* punkObject);
  11. virtual bool OnNotify(UINT nMsg, WPARAM wParam, LPARAM lParam, LRESULT* plRet);
  12. virtual void OnDestroy();
  13. // Rendering
  14. virtual SIZE GetContentSize(int dConstW, int dConstH, Surface* psrf);
  15. // Keyboard navigation
  16. virtual void SetKeyFocus();
  17. virtual void OnEvent(Event* pEvent);
  18. // ClassInfo accessors (static and virtual instance-based)
  19. static IClassInfo* Class;
  20. virtual IClassInfo* GetClassInfo() { return Class; }
  21. static HRESULT Register();
  22. DUIAxHost() : _pOleObject(NULL) {}
  23. bool FakeTabEvent();
  24. virtual HWND CreateHWND(HWND hwndParent);
  25. virtual HRESULT GetAccessibleImpl(IAccessible ** ppAccessible);
  26. private:
  27. IOleObject* _pOleObject;
  28. };