Funzione PolyDraw (wingdi.h)

La funzione PolyDraw disegna un set di segmenti di linea e curve di Bézier.

Sintassi

BOOL PolyDraw(
  [in] HDC         hdc,
  [in] const POINT *apt,
  [in] const BYTE  *aj,
  [in] int         cpt
);

Parametri

[in] hdc

Handle per un contesto di dispositivo.

[in] apt

Puntatore a una matrice di strutture POINT che contengono gli endpoint per ogni segmento di linea e gli endpoint e i punti di controllo per ogni curva di Bézier, in unità logiche.

[in] aj

Puntatore a una matrice che specifica la modalità di utilizzo di ogni punto nella matrice lppt . Questo parametro può essere uno dei valori seguenti.

Digitare Significato
PT_MOVETO
Specifica che questo punto inizia una figura non contigua. Questo punto diventa la nuova posizione corrente.
PT_LINETO
Specifica che una linea deve essere disegnata dalla posizione corrente a questo punto, che diventa quindi la nuova posizione corrente.
PT_BEZIERTO
Specifica che questo punto è un punto di controllo o un punto finale per una curva di Bézier.

PT_BEZIERTO tipi si verificano sempre in set di tre. La posizione corrente definisce il punto iniziale per la curva di Bézier. I primi due punti PT_BEZIERTO sono i punti di controllo e il terzo punto PT_BEZIERTO è il punto finale. Il punto finale diventa la nuova posizione corrente. Se non sono presenti tre punti di PT_BEZIERTO consecutivi, viene restituito un errore.

 

Un tipo PT_LINETO o PT_BEZIERTO può essere combinato con il valore seguente usando l'operatore BIT PER BIT OR per indicare che il punto corrispondente è l'ultimo punto di una figura e la figura è chiusa.

Valore Significato
PT_CLOSEFIGURE
Specifica che la figura viene chiusa automaticamente dopo il PT_LINETO o il tipo di PT_BEZIERTO per questo punto. Una linea viene disegnata da questo punto alla PT_MOVETO più recente o punto MoveToEx.

Questo valore viene combinato con il tipo di PT_LINETO per una linea o con il tipo PT_BEZIERTO del punto finale per una curva di Bézier, usando l'operatore BIT OR.

La posizione corrente è impostata sul punto finale della riga di chiusura.

[in] cpt

Numero totale di punti nella matrice lppt , uguale al numero di byte nella matrice lpbTypes.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero.

Osservazioni

La funzione PolyDraw può essere usata al posto di chiamate consecutive a MoveToEx, LineToe funzioni PolyBezierTo per disegnare figure non contigue. Le linee e le curve vengono disegnate utilizzando la penna corrente e le figure non vengono riempite. Se è stato avviato un percorso attivo chiamando BeginPath, PolyDraw aggiunge al percorso.

I punti contenuti nella matrice lppt e nella matrice lpbTypes indicano se ogni punto fa parte di un'operazioneMoveToLineToo PolyBezierTo. È anche possibile chiudere i dati.

Questa funzione aggiorna la posizione corrente.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione wingdi.h (include Windows.h)
libreria Gdi32.lib
dll Gdi32.dll

Vedere anche

BeginPath

EndPath

funzioni linea e curva

LineTo

Panoramica linee e curve

MoveToEx

POINT

PolyBezierTo

polyline