ich habe folgendes problem : also ich zeichne lienien auf dem Staticfeld welche auf dem Dialogfeld ist. wenn ich jetzt startpunkt setze und bewegt den Cursor auf eine andere Position soll sich die Linie wie Gummiband den Cursor folgen. Wie kann ich das realisieren??
zweites Problem: wenn ich dann die Maustaste losgelassen habe, will ich dass die Pixel von der Linie die ich gezeichnet habe in einem bool Array-Speicher abgelegt wird. Wie könnte ich das realisieren???
Bitte hilft mir das mus doch irgend wie mit dem Gerätekontext zutun haben oder?!
Wenn du mit DC's noch nie was gemacht hast, würde ich das mit dem Gummiband erstmal zurückstellen und das erstmal so machen das klick runter den ersten punkt merkt und der klick release den zweiten punkt ermittelt. Dann wird die Linie gemalt das ist schon kompliziert genug. kannst das ja dann noch später erweitern.
das mit dem array sollte machbar sein. Wenn du glück hast gibt es schon ne methode wie 0nLine (weiss ich allerdings nicht) die dir zurückgibt ob sich ein Punkt auf der linie befindet. Wenn nicht kannst du mit der Funktion sleber schreiben. Mit GetPixel alle Pixel einlesen und nach Farbe vergleich (wenn es nicht die hintergrundfarbe ist muss der punkt ja auf der linie liegen)
um die Punktkoordinaten zu bekommen solltest du dir mal die methode ScreenToClient anschauen und dann mit einer CRgn weiterarbeiten, damit du abschecken kannst ob überhaupt innerhalb deines Dialoges geklickt worden ist.
Das mit dem DC's zusammenhängen erklären muss ein anderer Übernehmen. Ich benutzte die immer einfach nur. Das ganaue Konzept dahinter habe ich nie verstanden (und auch nie versucht zu verstehen hopsa funzt) -- ...fleißig wie zwei Weißbrote
Hallo danke für deine Hilfe kannst du mir da vieleicht ein Beispielcode geben, wie ich die GetPixel, CRgn usw. benutzen kann. Das mit Linie zeichnen habe ich jetzt soweit hingekriegt aber wenn ich auf eine schon gezeichnete linie noch eine Linie zeichne wir der untere Linie gelöscht.