[wxWidgets] Unvollständiger wxWindow::Destroy()



  • Hallo!

    Ich habe eine Vielzahl an Buttons. Wenn ich auf einen Button mit "-" klicke, soll das zugehörige wxPanel gelöscht werden. Das Ganze funktioniert auch, nur dummerweise verschwindet der Button offensichtlich nicht ganz. Er ist zwar nicht mehr da, aber verdeckt nun wie eine Maske Teile meines Layouts. Es ist alles scrollbar und es wird immer im übergordneten Frame ganz links oben des aktuell sichtbaren Teils in der Größe des "-" Buttons mein Layout mit der Hintergrundfarbe überdeckt.

    void PECS_Objekt::DelSurface(wxEvent &event)
      {
      wxSizer     *ptr_Sizer = NULL;
      wxWindow   *ptr_Window = NULL;
    
      ptr_Window = new wxWindow(this->GetParent(), wxID_ANY);
    
      ptr_Window    = (((wxWindow *)(event.GetEventObject()))->GetParent())->GetParent();
      ptr_Sizer     = ptr_Window->GetSizer();
      (((wxWindow *)(event.GetEventObject()))->GetParent())->Show(false);
      (((wxWindow *)(event.GetEventObject()))->GetParent())->Destroy();
    
      ptr_Sizer->SetVirtualSizeHints(ptr_Window);
      ptr_Sizer->Layout();
      }
    


  • Okay, nicht allzu bald am morgen posten 😉

    Also das Problem hat sich gezeigt, ist nicht der Destroy, sondern meine Erzeugung des neuen wxWindows, was ich als Zwischenspeicher verwendet habe. Der muss entweder gelöscht werden, oder kann gleich weg bleiben.


Anmelden zum Antworten