X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f8ebb70d6c40f5ba8db6c24a6537cc65ac48ccd6..92c0fc34c104c8d7c12d6a3b78ea232690fc23f4:/interface/wx/msw/ole/activex.h?ds=sidebyside diff --git a/interface/wx/msw/ole/activex.h b/interface/wx/msw/ole/activex.h index 5bfeab0d71..13776688b2 100644 --- a/interface/wx/msw/ole/activex.h +++ b/interface/wx/msw/ole/activex.h @@ -2,8 +2,7 @@ // Name: msw/ole/activex.h // Purpose: interface of wxActiveXEvent // Author: wxWidgets team -// RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @@ -18,10 +17,19 @@ @beginEventTable{wxActiveXEvent} @event{EVT_ACTIVEX(func)} - Sent when the ActiveX control hosted by wxActiveXContainer recieves an + Sent when the ActiveX control hosted by wxActiveXContainer receives an ActiveX event. @endEventTable + ActiveX event parameters can get extremely complex and may be beyond the + abilities of wxVariant. If 'operator[]' fails, prints an error messages or + crashes the application, event handlers should use GetNativeParameters() + instead to obtain the original event information. + Calls to operator[] and GetNativeParmeters() can be mixed. It is valid + to handle some parameters of an event with operator[] and others directly + through GetNativeParameters(). It is \b not valid however to manipulate + the same parameter using both approaches at the same time. + @onlyfor{wxmsw} @library{wxcore} @@ -55,6 +63,16 @@ public: Obtains the actual parameter value specified by idx. */ wxVariant operator[](size_t idx); + + /** + Obtain the original MSW parameters for the event. + Event handlers can use this information to handle complex event parameters + that are beyond the scope of wxVariant. + The information returned here is the information passed to the original + 'Invoke' method call. + \return a pointer to a struct containing the original MSW event parameters + */ + wxActiveXEventNativeMSW *GetNativeParameters() const; }; @@ -66,7 +84,7 @@ public: is a platform-specific class). Note that the HWND that the class contains is the actual HWND of the ActiveX - control so using dynamic events and connecting to wxEVT_SIZE, for example, + control so using dynamic events and connecting to @c wxEVT_SIZE, for example, will receive the actual size message sent to the control. It is somewhat similar to the ATL class CAxWindow in operation. @@ -244,23 +262,23 @@ public: wxActiveXContainer* m_pAX; wxAutomationObject m_PDF; - DECLARE_DYNAMIC_CLASS(wxPDFMediaBackend) + wxDECLARE_DYNAMIC_CLASS(wxPDFMediaBackend) }; - IMPLEMENT_DYNAMIC_CLASS(wxPDFMediaBackend, wxMediaBackend); - Put this in one of your existant source files and then create a wxMediaCtrl with + wxIMPLEMENT_DYNAMIC_CLASS(wxPDFMediaBackend, wxMediaBackend); - //[this] is the parent window, "myfile.pdf" is the PDF file to open + // Put this in one of your existing source files and then create a wxMediaCtrl with wxMediaCtrl* mymediactrl = new wxMediaCtrl(this, "myfile.pdf", wxID_ANY, wxDefaultPosition, wxSize(300,300), 0, "wxPDFMediaBackend"); + // [this] is the parent window, "myfile.pdf" is the PDF file to open @endcode @onlyfor{wxmsw} - @library{wxbase} - @category{misc,ipc} + @library{wxcore} + @category{ctrl,ipc} @see wxActiveXEvent, @ref page_samples_flash */ @@ -278,5 +296,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); };