class WXDLLIMPEXP_BASE wxPowerEvent : public wxEvent
 {
 public:
+    wxPowerEvent()            // just for use by wxRTTI
+        : m_veto(false) { }
+
     wxPowerEvent(wxEventType evtType) : wxEvent(wxID_NONE, evtType)
     {
         m_veto = false;
 private:
     bool m_veto;
 
-    DECLARE_ABSTRACT_CLASS(wxPowerEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxPowerEvent)
 };
 
 extern WXDLLIMPEXP_BASE const wxEventType wxEVT_POWER_SUSPENDING;
 
 
     wxWizardPage*   GetPage() const { return m_page; }
 
+    virtual wxEvent *Clone() const { return new wxWizardEvent(*this); }
+
 private:
     bool m_direction;
     wxWizardPage*    m_page;
 
-    DECLARE_DYNAMIC_CLASS(wxWizardEvent)
-    DECLARE_NO_COPY_CLASS(wxWizardEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxWizardEvent)
 };
 
 // ----------------------------------------------------------------------------
 
     DEFINE_EVENT_TYPE(wxEVT_POWER_SUSPEND_CANCEL)
     DEFINE_EVENT_TYPE(wxEVT_POWER_RESUME)
 
-    IMPLEMENT_ABSTRACT_CLASS(wxPowerEvent, wxEvent)
+    IMPLEMENT_DYNAMIC_CLASS(wxPowerEvent, wxEvent)
 #endif
 
 // provide stubs for the systems not implementing these functions
 
 };
 #endif
 
-IMPLEMENT_CLASS( wxRichTextCtrl, wxControl )
+IMPLEMENT_DYNAMIC_CLASS( wxRichTextCtrl, wxControl )
 
-IMPLEMENT_CLASS( wxRichTextEvent, wxNotifyEvent )
+IMPLEMENT_DYNAMIC_CLASS( wxRichTextEvent, wxNotifyEvent )
 
 BEGIN_EVENT_TABLE( wxRichTextCtrl, wxControl )
     EVT_PAINT(wxRichTextCtrl::OnPaint)