Struttura EXTLOGPEN (wingdi.h)
La struttura EXTLOGPEN definisce gli attributi di stile, larghezza e pennello della penna per una penna estesa. Questa struttura viene utilizzata dalla funzione GetObject quando recupera una descrizione di una penna creata quando un'applicazione ha chiamato la funzione ExtCreatePen .
Sintassi
typedef struct tagEXTLOGPEN {
DWORD elpPenStyle;
DWORD elpWidth;
UINT elpBrushStyle;
COLORREF elpColor;
ULONG_PTR elpHatch;
DWORD elpNumEntries;
DWORD elpStyleEntry[1];
} EXTLOGPEN, *PEXTLOGPEN, *NPEXTLOGPEN, *LPEXTLOGPEN;
Members
elpPenStyle
Combinazione di tipo penna, stile, stile estremità finale e stile join. I valori di ogni categoria possono essere recuperati usando un operatore AND bit per bit con la maschera appropriata.
Il membro elpPenStyle mascherato con PS_TYPE_MASK ha uno dei valori di tipo penna seguenti.
Valore | Significato |
---|---|
PS_GEOMETRIC | La penna è geometrica. |
PS_COSMETIC | La penna è cosmetica. |
Il membro elpPenStyle mascherato con PS_STYLE_MASK ha uno dei valori di stile della penna seguenti:
Valore | Significato |
---|---|
PS_DASH | La penna è tratteggiata. |
PS_DASHDOT | La penna ha trattini alternati e punti. |
PS_DASHDOTDOT | La penna ha trattini alternati e punti doppi. |
PS_DOT | La penna è punteggiata. |
PS_INSIDEFRAME | La penna è solida. Quando questa penna viene utilizzata in qualsiasi funzione di disegno GDI che accetta un rettangolo di delimitazione, le dimensioni della figura vengono compattate in modo che si adatti interamente al rettangolo di delimitazione, tenendo conto della larghezza della penna. Questo vale solo per PS_GEOMETRIC penne. |
PS_NULL | La penna è invisibile. |
PS_SOLID | La penna è solida. |
PS_USERSTYLE | La penna usa una matrice di stili fornita dall'utente. |
La categoria seguente si applica solo alle penne PS_GEOMETRIC. Il membro elpPenStyle mascherato con PS_ENDCAP_MASK ha uno dei valori di estremità finale seguenti.
Valore | Significato |
---|---|
PS_ENDCAP_FLAT | Le estremità finali della linea sono flat. |
PS_ENDCAP_ROUND | Le estremità di linea sono arrotondate. |
PS_ENDCAP_SQUARE | Le estremità di linea sono quadrate. |
La categoria seguente si applica solo alle penne PS_GEOMETRIC. Il membro elpPenStyle mascherato con PS_JOIN_MASK ha uno dei valori di join seguenti.
Valore | Significato |
---|---|
PS_JOIN_BEVEL | I join di linea vengono smussati. |
PS_JOIN_MITER | I join di riga vengono impostati correttamente quando sono entro il limite corrente impostato dalla funzione SetMiterLimit . Un join viene smussato quando supera il limite. |
PS_JOIN_ROUND | I join di linea sono arrotondati. |
elpWidth
Larghezza della penna. Se il membro elpPenStyle è PS_GEOMETRIC, questo valore corrisponde alla larghezza della linea in unità logiche. In caso contrario, le linee sono cosmetiche e questo valore è 1, che indica una linea con una larghezza di un pixel.
elpBrushStyle
Stile pennello della penna. Il valore del membro elpBrushStyle può essere uno dei seguenti.
Valore | Significato |
---|---|
BS_DIBPATTERN | Specifica un pennello modello definito da una specifica DIB. Se elpBrushStyle è BS_DIBPATTERN, il membro elpHatch contiene un handle per un DIB compresso. Per altre informazioni, vedere discussione in elpHatch |
BS_DIBPATTERNPT | Specifica un pennello modello definito da una specifica DIB. Se elpBrushStyle è BS_DIBPATTERNPT, il membro elpHatch contiene un puntatore a un DIB compresso. Per altre informazioni, vedere discussione in elpHatch. |
BS_HATCHED | Specifica un pennello tratteggio. |
BS_HOLLOW | Specifica un pennello vuoto o NULL . |
BS_PATTERN | Specifica un pennello modello definito da una bitmap di memoria. |
BS_SOLID | Specifica un pennello solido. |
elpColor
Se elpBrushStyle è BS_SOLID o BS_HATCHED, elpColor specifica il colore in cui deve essere disegnata la penna. Per BS_HATCHED, le funzioni SetBkMode e SetBkColor determinano il colore di sfondo.
Se elpBrushStyle è BS_HOLLOW o BS_PATTERN, elpColor viene ignorato.
Se elpBrushStyle è BS_DIBPATTERN o BS_DIBPATTERNPT, la parola in ordine basso di elpColor specifica se il membro bmiColors della struttura BITMAPINFO contiene valori RGB espliciti o indici RGB nella tavolozza logica attualmente realizzata. Il valore elpColor deve essere uno dei seguenti.
Valore | Significato |
---|---|
DIB_PAL_COLORS | La tabella dei colori è costituita da una matrice di indici a 16 bit nella tavolozza logica attualmente realizzata. |
DIB_RGB_COLORS | La tabella dei colori contiene valori RGB letterali. |
La macro RGB viene utilizzata per generare una struttura COLORREF .
elpHatch
Se elpBrushStyle è BS_PATTERN, elpHatch è un handle per la bitmap che definisce il modello.
Se elpBrushStyle è BS_SOLID o BS_HOLLOW, elpHatch viene ignorato.
Se elpBrushStyle è BS_DIBPATTERN, il membro elpHatch è un handle per un DIB compresso. Per ottenere questo handle, un'applicazione chiama la funzione GlobalAlloc con GMEM_MOVEABLE (o LocalAlloc con LMEM_MOVEABLE) per allocare un blocco di memoria e quindi riempie la memoria con il diB compresso. Un DIB compresso è costituito da una struttura BITMAPINFO immediatamente seguita dalla matrice di byte che definiscono i pixel della bitmap.
Se elpBrushStyle è BS_DIBPATTERNPT, il membro elpHatch è un puntatore a un DIB compresso. Il puntatore deriva dal blocco di memoria creato da LocalAlloc con LMEM_FIXED impostato o da GlobalAlloc con GMEM_FIXED impostato oppure è il puntatore restituito da una chiamata come LocalLock (handle_to_the_dib). Un DIB compresso è costituito da una struttura BITMAPINFO immediatamente seguita dalla matrice di byte che definiscono i pixel della bitmap.
Se elpBrushStyle è BS_HATCHED, il membro elpHatch specifica l'orientamento delle linee utilizzate per creare il tratteggio. Può essere uno dei valori seguenti.
Valore | Significato |
---|---|
HS_BDIAGONAL | Tratteggio verso l'alto di 45 gradi (da sinistra a destra) |
HS_CROSS | Crosshatch orizzontale e verticale |
HS_DIAGCROSS | Crosshatch a 45 gradi |
HS_FDIAGONAL | Tratteggio verso il basso di 45 gradi (da sinistra a destra) |
HS_HORIZONTAL | Tratteggio orizzontale |
HS_VERTICAL | Tratteggio verticale |
elpNumEntries
Numero di voci nella matrice di stile nel membro elpStyleEntry . Questo valore è zero se elpPenStyle non specifica PS_USERSTYLE.
elpStyleEntry[1]
Matrice di stile fornita dall'utente. La matrice viene specificata con una lunghezza finita, ma viene usata come se ripetuta per un periodo illimitato. La prima voce nella matrice specifica la lunghezza del primo trattino. La seconda voce specifica la lunghezza del primo gap. Successivamente, lunghezze di trattini e spazi alternati.
Se elpWidth specifica linee geometriche, le lunghezze sono in unità logiche. In caso contrario, le linee sono cosmetiche e lunghezze sono in unità di dispositivo.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | wingdi.h (include Windows.h) |