Freigeben über


CDC::GetPath

Ruft die Koordinaten ab, die die Endpunkte von Zeilen definieren und die Steuerpunkte Kurven starten im Pfad, der in den Gerätekontext ausgewählt ist.

int GetPath( 
   LPPOINT lpPoints, 
   LPBYTE lpTypes, 
   int nCount  
) const;

Parameter

  • lpPoints
    Punkte in einem Array PUNKT Datenstrukturen oder CPoint-Objekten, in denen die Zeilenendpunkte und die Kurvenkontrollpunkte platziert werden.

  • lpTypes
    Zeigt auf einem Bytearray, in dem die Vertextypen platziert werden. Werte sind einer der folgenden:

    • PT_MOVETO gibt an, dass der entsprechende Punkt in lpPoints eine disjunkte Abbildung beginnt.

    • PT_LINETO gibt an, dass der vorherige Punkt und der entsprechende Punkt in lpPoints Endpunkt einer Zeile befinden.

    • PT_BEZIERTO gibt an, dass der entsprechende Punkt in lpPoints ein Kontrollpunkt oder ein Endpunkt für eine Bézierkurve ist.

      PT_BEZIERTO-Typen treten immer in Gruppen von drei auf. Der Punkt im Pfad direkt vor ihnen definiert den Ausgangspunkt für die Bézierkurve. Die ersten beiden PT_BEZIERTO Punkte sind die Steuerpunkte, und der dritte PT_BEZIERTO Punkt ist der Endpunkt (wenn hartcodiert).

      Ein PT_LINETO oder PT_BEZIERTO-Typ wird mit dem folgenden Flag (durch Verwendung des bitweisen Operators OR) kombiniert werden dass der entsprechende Punkt der letzte Punkt in einer Abbildung ist und dass die Abbildung geschlossen werden soll:

    • PT_CLOSEFIGURE gibt an, dass die Abbildung automatisch geschlossen wird, nachdem die entsprechende Zeile oder die Kurve gezeichnet wird. Die Abbildung wird geschlossen, indem eine Zeile aus dem Zeilen- oder Kurvenendpunkt zum Punkt entsprechend letzten PT_MOVETO zeichnet.

  • nCount
    Gibt die Gesamtzahl von PUNKT Datenstrukturen an, die in das lpPoints Array eingefügt werden. Dieser Wert muss derselbe wie die Anzahl von Bytes sein, die in das lpTypes Array eingefügt werden.

Rückgabewert

Wenn der nCount-Parameter ungleich 0 ist, die Punktzahl aufgelistet. Wenn nCount ist 0, die Gesamtzahl von Punkten im Pfad (und in GetPath schreibt nichts zu den Puffern). Wenn nCount ungleich 0 ist und kleiner als die Punktzahl im Pfad ist, ist der Rückgabewert -1.

Hinweise

Der Gerätekontext muss einen geschlossenen Pfad enthalten. Die Punkte des Pfads werden in logischen Koordinaten zurückgegeben. Punkte werden im Pfad in Gerätekoordinaten, sodass in GetPath Änderungen die Punkte von Gerätekoordinaten von logischen Koordinaten gespeichert, indem die Umkehrung der aktuellen Transformation verwendet. Die FlattenPath-Memberfunktion wird vor GetPath aufgerufen werden, um alle Kurven im Pfad in Liniensegmente zu konvertieren.

Beispiel

Im Beispiel für CDC::BeginPath.

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CDC-Klasse

Hierarchiediagramm

CDC::FlattenPath

CDC::PolyDraw

CDC::WidenPath