hallo!
kann mir jemand anhand eines beipiels zeigen, wie man eine linie mithilfe von lineto und movetoex(in visual c++ 6) zeichnet?
Pat999 Gast |
Pat999 Gast |
hallo!
kann mir jemand anhand eines beipiels zeigen, wie man eine linie mithilfe von lineto und movetoex(in visual c++ 6) zeichnet?
Das sieht ganz hilfreich aus: http://jalaj.net/2007/02/15/winapi-movetoex-and-lineto/
Ist zwar kein C++, aber die Funktionsweise dürfte die selbe sein.
Beispiel: eine Linie von [10, 20] nach [30, 40] mit dem aktuellen Stift zeichnen
HDC dc;
...
MoveToEx(dc, 10, 20, NULL); // setzt die interne Zeichenpostion auf [10,20]
LineTo(dc, 30, 40);
Solls ein anderer Stift sein (andere Farbe, Dicke etc.):
HDC dc;
// Stift erstellen: durchgehend, Dicke 1, rot
HPEN hPen = CreatePen(PS_SOLID, 1, RGB(255, 0, 0));
HPEN hPenBak = SelectObject(dc, hPen);
// jetzt zeichnets in rot
MoveToEx(dc, 10, 20, NULL);
LineTo(dc, 30, 40);
// alten Stift wieder herstellen
SelectObject(dc, hPenBak);
// erstellten Stift wieder freigeben WICHTIG!!!
DeleteObject(hPen);
Wenn du statt NULL einen Pointer auf ein POINT in MoveToEx übergibst, erhältst du die Zeichenposition vor dem Aufruf von MoveToEx
POINT pt;
MoveToEx(dc, x, y, &pt);
// hier was schlaues mit pt anstellen ;-)
« Keylogger | Graphik auswertung mit Perl » | ||