Wire mehrmals zeichen



  • Hallo Leute,

    ich versuche sowas in der Art wie ein Schaltplaneditor mit wxWidgets zu realisieren. Bin ganz am Anfang der Arbeit.

    Ich habe Ratser und so schon realisiert. Jetzt versuche ich die Wire zu zeichenen. Das funktioniert auch. Mein Problem ist folgender. Ich zeichne momentan folgender Maße den Wire.

    void sheet::OnPaint( wxPaintEvent& event )
    {
      wxPaintDC dc(this);
    
        this->drawLine();
    }
    
    void sheet::drawLine()
    {
        wxPaintDC dc(this);
        dc.SetPen (wxPen (*wxBLACK,1));
        dc.DrawLine(s.x,s.y,p.x,p.y);
    }
    
    void sheet::OnLeftDown(wxMoveEvent & event)
    {
       LeftDown=true;
       s = event.GetPosition();
    }
    
    void sheet::OnLeftUp(wxMoveEvent & event)
    {
         LeftDown = false;
         p = event.GetPosition();
    }
    
    void sheet::OnMotion(wxMoveEvent & event)
    {
            if (LeftDown){
            p = event.GetPosition();
            Refresh();
            }
    }
    

    Durch Refresch wird aber mein ganzer Wire, den ich vorher gezechnet habe, bei der Mausbewegung zerstört!
    Wenn ich meine linke Mautaste gedrückt halte und meine Maus bewege, wird meine OnPaint ständig refrescht und damit alles was ich bisher gezeichnet habe zerstört. Wie würdet Ihr Wire zeichen, dass es nicht zerstört wird.

    Dabei muss später der Wire informationen geben, wie mit welche Komponente miteinander verbundne sind.

    Ich weiß, das ist keine leichte Aufgabe, ich habe auch schon viele Tutorials von wxWidgets gemacht. Aber auf die Lösung des Problems komme ich irgendwie nicht.

    Wenn ich das Problem lösen könnte würden sich auch mehr oder weniger Probleme bei der Komponenteerstellung lösen.

    Please Help


  • Mod

    Also generell, sind die Linien ja nur Darstellungen. Irgendwo musst du das also in deinem Datenmodell abbilden, und dann dieses Modell zeichnen in OnPaint. Auch würde ich einer Methode DrawLine immer einen parameter wxDC& dc zum zeichnen mitgeben.


Anmelden zum Antworten