CDC::GetPath
Recupera le coordinate che definiscono gli endpoint delle righe e i punti di controllo curve presenti nel percorso selezionato nel contesto di dispositivo.
int GetPath(
LPPOINT lpPoints,
LPBYTE lpTypes,
int nCount
) const;
Parametri
lpPoints
Punta a una matrice di strutture di dati QUESTION oppure oggetti CPoint in cui gli endpoint di riga e i punti di controllo della curva vengono posizionati.lpTypes
Punta a una matrice di byte in cui i tipi di vertice vengono posizionati. I valori sono uno dei seguenti:PT_MOVETO specifica che il punto corrispondente in lpPoints avvia una figura di OR.
PT_LINETO specifica che il passaggio precedente e il punto corrispondente in lpPoints sono gli endpoint di una riga.
PT_BEZIERTO specifica che il punto corrispondente in lpPoints è un punto di controllo o un punto finale della curva di Bzier.
I tipi diPT_BEZIERTO si verificano sempre insiemi di tre. Il punto nel percorso immediatamente prima del definisce il punto iniziale della curva di Bzier. I primi due punti PT_BEZIERTO sono i punti di controllo e il terzo punto PT_BEZIERTO è il punto finale (se specificato a livello di codice.
Un tipo PT_BEZIERTO o PT_LINETO può essere combinato con il flag (utilizzando l'operatore bit per bit OR) per indicare che il punto corrispondente è l'ultimo passaggio nella figura e che la figura deve essere chiusa:
PT_CLOSEFIGURE specifica che la figura chiusa automaticamente dopo la riga o la curva corrispondente viene disegnata. Nella figura chiusa disegnando una linea dal punto finale della curva o della riga nel punto corrispondente all'ultimo PT_MOVETO.
nCount
Specifica il numero totale di strutture di dati QUESTION che possono essere inserite nella matrice lpPoints. Questo valore deve essere uguale al numero di byte che possono essere memorizzati nella matrice lpTypes.
Valore restituito
Se il parametro nCount è diverso da zero, il numero di punti enumerati. Se nCount è 0, il numero totale dei punti del percorso (e in GetPath non scrive niente nel buffer). Se nCount è diverso da zero e è inferiore al numero di punti nel percorso, il valore restituito è -1.
Note
Il contesto di dispositivo deve contenere un percorso chiuso. I punti del percorso vengono restituiti in coordinate logiche. I punti sono archiviati nel percorso nelle coordinate di periferica, pertanto le modifiche GetPath i punti le coordinate di periferica alle coordinate logiche utilizzando l'opposto della trasformazione corrente. La funzione membro FlattenPath può essere chiamata prima GetPath, per convertire le curve nel percorso nei segmenti di riga.
Esempio
Vedere l'esempio relativo CDC::BeginPath.
Requisiti
Header: afxwin.h