Add wxActiveXContainer::QueryClientSiteInterface to allow customisation of ActiveX controls.
Closes #13784. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -169,6 +169,7 @@ public:
|
||||
void OnSetFocus(wxFocusEvent&);
|
||||
void OnKillFocus(wxFocusEvent&);
|
||||
virtual bool MSWTranslateMessage(WXMSG* pMsg);
|
||||
virtual bool QueryClientSiteInterface(REFIID iid, void **_interface, const char *&desc);
|
||||
|
||||
protected:
|
||||
friend class FrameSite;
|
||||
|
@@ -297,5 +297,18 @@ public:
|
||||
Interface of ActiveX control.
|
||||
*/
|
||||
wxActiveXContainer(wxWindow* parent, REFIID iid, IUnknown* pUnk);
|
||||
/**
|
||||
Queries host's site for interface.
|
||||
|
||||
@param iid
|
||||
The iid of the required interface.
|
||||
@param _interface
|
||||
Double pointer to outgoing interface. Supply your own interface if desired.
|
||||
@param desc
|
||||
The description of the outgoing interface.
|
||||
@return bool
|
||||
Return true if interface supplied else return false.
|
||||
*/
|
||||
virtual bool QueryClientSiteInterface(REFIID iid, void **_interface, const char *&desc);
|
||||
};
|
||||
|
||||
|
@@ -633,6 +633,10 @@ public:
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
friend bool QueryClientSiteInterface(FrameSite *self, REFIID iid, void **_interface, const char *&desc)
|
||||
{
|
||||
return self->m_window->QueryClientSiteInterface(iid,_interface,desc);
|
||||
}
|
||||
|
||||
protected:
|
||||
wxActiveXContainer * m_window;
|
||||
@@ -670,6 +674,7 @@ DEFINE_OLE_TABLE(FrameSite)
|
||||
OLE_IINTERFACE(IOleDocumentSite)
|
||||
OLE_IINTERFACE(IAdviseSink)
|
||||
OLE_IINTERFACE(IOleControlSite)
|
||||
OLE_INTERFACE_CUSTOM(QueryClientSiteInterface)
|
||||
END_OLE_TABLE
|
||||
|
||||
|
||||
@@ -1276,4 +1281,17 @@ bool wxActiveXContainer::MSWTranslateMessage(WXMSG* pMsg)
|
||||
return wxWindow::MSWTranslateMessage(pMsg);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// wxActiveXContainer::QueryClientSiteInterface
|
||||
//
|
||||
// Called in the host's site's query method for other interfaces.
|
||||
//---------------------------------------------------------------------------
|
||||
bool wxActiveXContainer::QueryClientSiteInterface(REFIID iid, void **_interface, const char *&desc)
|
||||
{
|
||||
wxUnusedVar(iid);
|
||||
wxUnusedVar(_interface);
|
||||
wxUnusedVar(desc);
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif // wxUSE_ACTIVEX
|
||||
|
Reference in New Issue
Block a user