Jak w prosty sposób można rozszerzyć standardowe menu kontekstowe w standardowym wxTextCtrl.

Chciałem przebudować menu kontekstowe dla własnych kontrolek dziczących po klasie wxTextCtrl
Metoda obsługi zdarzenia dla menu kontekstowego OnContextMenu nie jest wirtualna, więc postanowiłem ją nadpisać, no i niby git, ale...

nie jestem przekonany, że jest to dobry pomysł - choć na razie nie widzę innego sposobu.
Czy koś zna może inną metodę?
w pozycji '********* ' chciałem wstawić menu kontekstowe,

        if (!m_ContextMenu)
        {
            m_ContextMenu = new wxMenu;
            m_ContextMenu->Append(wxID_UNDO, _("&Undo"));
            m_ContextMenu->Append(wxID_REDO, _("&Redo"));
            m_ContextMenu->AppendSeparator();
            m_ContextMenu->Append(wxID_CUT, _("Cu&t"));
            m_ContextMenu->Append(wxID_COPY, _("&Copy"));
            m_ContextMenu->Append(wxID_PASTE, _("&Paste"));
            m_ContextMenu->Append(wxID_CLEAR, _("&Delete"));
        }
        PopupMenu(m_ContextMenu);
        return;

ale o dziwo powyższa fraza nie jest w ogóle wywoływana, program nie wchodzi w if-a - pomimo, że w konstruktorze, "null"uję zmienną -

m_ContextMenu=NULL;

.

//class MywxTextCtrl: public wxTextCtrl {
//public: 
//    MywxTextCtrl(wxWindow *parent, wxWindowID id,
//               const wxString& value = wxEmptyString,
//               const wxPoint& pos = wxDefaultPosition,
//               const wxSize& size = wxDefaultSize,
//               long style = 0,
//               const wxValidator& validator = wxDefaultValidator,
//               const wxString& name = wxTextCtrlNameStr) :
//        wxTextCtrl(parent,id,value, pos, size, style, validator, name )
//    {    
//    };
//public:
//    inline void OnContextMenu(wxContextMenuEvent& event) {
//        //this->wxTextCtrl::OnContextMenu(event);        
//*******//       własna obsługa menu kontekstowego  
//       wxMessageBox(wxT("test"));
//        };
//};