Funzione CreatePen (wingdi.h)
La funzione CreatePen crea una penna logica con lo stile, la larghezza e il colore specificati. La penna può successivamente essere selezionata in un contesto di dispositivo e usata per disegnare linee e curve.
Sintassi
HPEN CreatePen(
[in] int iStyle,
[in] int cWidth,
[in] COLORREF color
);
Parametri
[in] iStyle
Stile penna. Può essere uno dei valori seguenti.
[in] cWidth
Larghezza della penna, in unità logiche. Se nWidth è zero, la penna è un'unica larghezza di pixel, indipendentemente dalla trasformazione corrente.
CreatePen restituisce una penna con la larghezza specificata, ma con lo stile PS_SOLID se si specifica una larghezza maggiore di una per gli stili seguenti: PS_DASH, PS_DOT, PS_DASHDOT PS_DASHDOTDOT.
[in] color
Riferimento di colore per il colore della penna. Per generare una struttura COLORREF , utilizzare la macro RGB .
Valore restituito
Se la funzione ha esito positivo, il valore restituito è un handle che identifica una penna logica.
Se la funzione ha esito negativo, il valore restituito è NULL.
Commenti
Dopo che un'applicazione crea una penna logica, può selezionarla in un contesto di dispositivo chiamando la funzione SelectObject . Dopo aver selezionato una penna in un contesto di dispositivo, può essere usata per disegnare linee e curve.
Se il valore specificato dal parametro nWidth è zero, una linea disegnata con la penna creata è sempre un'unica larghezza di pixel indipendentemente dalla trasformazione corrente.
Se il valore specificato da nWidth è maggiore di 1, il parametro fnPenStyle deve essere PS_NULL, PS_SOLID o PS_INSIDEFRAME.
Se il valore specificato da nWidth è maggiore di 1 e fnPenStyle è PS_INSIDEFRAME, la linea associata alla penna viene disegnata all'interno del frame di tutte le primitive ad eccezione dei poligoni e delle polilinee.
Se il valore specificato da nWidth è maggiore di 1, fnPenStyle è PS_INSIDEFRAME e il colore specificato dal parametro crColor non corrisponde a una delle voci nella tavolozza logica, il sistema disegna le linee utilizzando un colore dithering. I colori dithering non sono disponibili con penne a tinta unita.
Quando si usa un parametro iStyle di PS_DASH, PS_DOT, PS_DASHDOT o PS_DASHDOTDOT, per rendere trasparenti le lacune tra i trattini o i punti, usare SetBkMode per impostare la modalità su TRANSPARENT.
Quando la penna non è più necessaria, chiamare la funzione DeleteObject per eliminarla.
ICM: Al momento della creazione non viene eseguita alcuna gestione dei colori. Tuttavia, la gestione dei colori viene eseguita quando la penna viene selezionata in un contesto di dispositivo abilitato per ICM.
Esempio
Per un esempio, vedere Creazione di penne colorate e pennelli.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wingdi.h (include Windows.h) |
Libreria | Gdi32.lib |
DLL | Gdi32.dll |