linie zeichnen?



  • Hi
    versuche gerade ein programm zu schreiben.
    wenn man auf ein knopf drückt soll das programm eine linie auf die oberfläche zeichnen
    dachte eigentlich das es so geht:

    void CCNCDlg::OnLine() 
    {
        CPaintDC dc(this); 
    
        int x = 50, 
            y = 730, 
            a = 50, 
            b = 35; 
    
        dc.MoveTo(x, y);  //Mittelpunkt 
        dc.LineTo(a, b);  //Endpunkt
    
        UpdateData(false);
    }
    

    aber irgendwas muss noch fehlen
    könnt ihr mir helfen
    oder wenn es ganz einfach is, den quellcode geben??

    MFG



  • CPaintDC darf nur in OnPaint verwendet werden, du brauchst CClientDC. Allerdings wird der Inhalt nach dem Neuzeichnen wieder gelöscht.



  • Ich weiß nicht aber muss man wenn man zeichnen will nicht erst ein Zeichenobjekt erstellen wie CPen?

    cu sven



  • void CCNCDlg::OnLine() 
    {
        CClientDC dc(this);
    
        int x = 50, 
        y = 730, 
        a = 50, 
        b = 35; 
    
        dc.MoveTo(x, y);  //Mittelpunkt 
        dc.LineTo(a, b);  //Endpunkt
    
    }
    

    wenn die linie jedesmal wieder gezeichnet werden soll, wenn das Dialogfeld neu gezeichnet wird, dann musst du noch OnLine() in OnPaint einfügen

    und nein, du must kein CPen objekt erstellen, du kannst natürlich, um zum beispiel eine punktierte linie zu zeichnen, so zeichnest du ein einfach schwarze linie



  • thx, wieder was gelernt! 😃

    sven


Anmelden zum Antworten