"Malen"



  • Hallo Programmierer,

    meine 1. Frage wie kann ich auf meiner Form bei einem Klick einen Punkt dort ertellen? Ich kann Linien Zeichnen (auch Punkte) doch ich brauch ja erstmal die Koordinaten...
    Frage 2. Wie bekomme ich die Position des Mauszeigers herraus (X, Y Achse)

    P.S Soll kein Paint für arme werden 😃



  • Der Mousklick Event bringt nen Eventhanlder e mit - der hat ne Property X und Y - das sind die Koordinaten



  • Auron der Streuner schrieb:

    Der Mousklick Event bringt nen Eventhanlder e mit - der hat ne Property X und Y - das sind die Koordinaten

    und wie macht man das?



  • na du hast ja ne MousClick Methode - wenn nicht musst du sie anlegen
    - wenn du mi VC arbeitest einfach doppelcklicken im Evenbereich neben MouseClick
    .
    Diese Methode hat dann die Übergabe Parameter sender und e, die du in der Methode benutzen kannst.
    Bsp:
    Int32 x_pos = e->X;
    und schon hast du´s



  • Form1.h(339) : error C2039: 'x': Ist kein Element von 'System::EventArgs'
            c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll: Siehe Deklaration von 'System::EventArgs'
    Form1.h(340) : error C2039: 'y': Ist kein Element von 'System::EventArgs'
            c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll: Siehe Deklaration von 'System::EventArgs'
    

    Was ist falsch?!



  • Sorry hatte ausversehen Form1_Click und nicht Mouse_Click also hier der Funktionierende Source Code:

    ➡

    //Wenn MouseClick auf Form 
    private: System::Void Form1_MouseClick(System::Object^  sender,  System::Windows::Forms::MouseEventArgs^  e) 
    		 {
    
    				 Int32 x_pos = e->X;
    				 Int32 y_pos = e->Y;
    				 label1->Text = Convert::ToString(x_pos);
                                label2->Text = Convert::ToString(y_pos);
    		 }
    


  • Hallo,

    Auch wenn ich zusätzliche FAQ Beiträge, gerade zu oft gestellten Fragen, immer begrüße, ist diese Antwort für mich kein Kandidat, da das Zeichnen ehrlich gesagt Mist ist. Es funktioniert einmal und beim nächsten aktualisieren ist das Gezeichnete wieder futsch weil nicht drauf geachtet wurde wo nur gezeichnet werden darf in .Net Programmen.

    Ich bin einfach mal so frei und verlinke auf einen FAQ Beitrag aus einem anderen Forum wo die richtige vorgehensweise erläutert wird. Es ist zwar nicht C++/CLI sondern C#, aber die Prinzipien sind ja 100% die selben da beides an .Net gebunden ist. Wenn man den Erklärungen dort folgt wieht man auch warum das hier keine gute Lösung ist.



  • Hatte ich übersehen....

    Natürlich darf man nur in OnPaint oder dem Paint-Event malen... alles andere ist blödsinn.



  • Dann tuts mir leid 😞 Wollte helfen die FAQ ein bisschen zu erweitern

    Aber wenn wir schon dabei sind wie Funktioniert das denn mit Paint (OnPaint)?
    Das mit C# sind irgenntwie komisch aus (hab davon keine Ahnung)



  • Zum Programmieren gehört es auch, mal in die Dokumentation zu schauen. Du lernst Programmieren NICHT im Forum! Schau in die MSDN, Du findest dort bei "OnPaint" Beispiele.

    Eigeninitiative kann Dir sicherlich nicht schaden.



  • SonnY schrieb:

    So für alle die in C++ ein eigenes Paint machen wollen (ist ja nicht schwer Microsoft Paint zu übertrumpfen 🕶 )

    Ich glaube SonnY, dass Du das mit Deinem Kenntnisstand noch nicht sagen darfst.
    Das ist ein bisschen mehr als die X,Y Koordinaten auf den Fernseher zuklatschen.

    Auch wenn MS Paint nicht mit vielen anderen Programmen konkurrieren kann, steckt auf sicher mehr Programmierleistung in dem Programm als Du je erwarteten wirst.

    Du solltest mal kleine Stiefel bauen und vorher mal überlegen was Du für ein Blödsinn von Dir gibst! 😮

    SonnY schrieb:

    Aber wenn wir schon dabei sind wie Funktioniert das denn mit Paint (OnPaint)?
    Das mit C# sind irgenntwie komisch aus (hab davon keine Ahnung)

    Aber mit MS Paint konkurrieren wollen.
    Sorry, hab so eine Krawatte.

    Gruß, Doug_HH



  • Ja ich hab mich ja entschuldigt jetzt müsst ihr ja nicht mehr auf mir rum hacken 😞


Anmelden zum Antworten