]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/msw/ole/activex.h
Add wxEventFilter and related functionality.
[wxWidgets.git] / interface / wx / msw / ole / activex.h
index 5bfeab0d715e446c80d81d7e6c7bc03897c025e9..a8e9af8b3dbd6676ab10ca8d20c5345536e9347f 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxActiveXEvent
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxActiveXEvent
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 
     @beginEventTable{wxActiveXEvent}
     @event{EVT_ACTIVEX(func)}
 
     @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.
     @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}
     @onlyfor{wxmsw}
 
     @library{wxcore}
@@ -55,6 +64,16 @@ public:
         Obtains the actual parameter value specified by idx.
     */
     wxVariant operator[](size_t idx);
         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 +85,7 @@ public:
     is a platform-specific class).
 
     Note that the HWND that the class contains is the actual HWND of the ActiveX
     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.
     will receive the actual size message sent to the control.
 
     It is somewhat similar to the ATL class CAxWindow in operation.
@@ -244,23 +263,23 @@ public:
         wxActiveXContainer* m_pAX;
         wxAutomationObject m_PDF;
 
         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
-
-    //[this] is the parent window, "myfile.pdf" is the PDF file to open
+    wxIMPLEMENT_DYNAMIC_CLASS(wxPDFMediaBackend, wxMediaBackend);
+    
+    // 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");
     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}
     @endcode
 
 
     @onlyfor{wxmsw}
 
     @library{wxbase}
-    @category{misc,ipc}
+    @category{ctrl,ipc}
 
     @see wxActiveXEvent, @ref page_samples_flash
 */
 
     @see wxActiveXEvent, @ref page_samples_flash
 */