Funzione DrawStateA (winuser.h)

La funzione DrawState visualizza un'immagine e applica un effetto visivo per indicare uno stato, ad esempio uno stato disabilitato o predefinito.

Sintassi

BOOL DrawStateA(
  [in] HDC           hdc,
  [in] HBRUSH        hbrFore,
  [in] DRAWSTATEPROC qfnCallBack,
  [in] LPARAM        lData,
  [in] WPARAM        wData,
  [in] int           x,
  [in] int           y,
  [in] int           cx,
  [in] int           cy,
  [in] UINT          uFlags
);

Parametri

[in] hdc

Handle per il contesto del dispositivo da disegnare.

[in] hbrFore

Handle al pennello usato per disegnare l'immagine, se lo stato specificato dal parametro fuFlags è DSS_MONO. Questo parametro viene ignorato per altri stati.

[in] qfnCallBack

Puntatore a una funzione di callback definita dall'applicazione usata per eseguire il rendering dell'immagine. Questo parametro è obbligatorio se il tipo di immagine in fuFlags è DST_COMPLEX. È facoltativo e può essere NULL se il tipo di immagine è DST_TEXT. Per tutti gli altri tipi di immagine, questo parametro viene ignorato. Per altre informazioni sulla funzione di callback, vedere la funzione DrawStateProc .

[in] lData

Informazioni sull'immagine. Il significato di questo parametro dipende dal tipo di immagine.

[in] wData

Informazioni sull'immagine. Il significato di questo parametro dipende dal tipo di immagine. È tuttavia zero esteso per l'uso con la funzione DrawStateProc .

[in] x

Posizione orizzontale, in unità dispositivo, in corrispondenza della quale disegnare l'immagine.

[in] y

Posizione verticale, in unità dispositivo, in cui disegnare l'immagine.

[in] cx

Larghezza dell'immagine, in unità dispositivo. Questo parametro è obbligatorio se il tipo di immagine è DST_COMPLEX. In caso contrario, può essere zero per calcolare la larghezza dell'immagine.

[in] cy

Altezza dell'immagine, in unità dispositivo. Questo parametro è obbligatorio se il tipo di immagine è DST_COMPLEX. In caso contrario, può essere zero per calcolare l'altezza dell'immagine.

[in] uFlags

Tipo di immagine e stato. Questo parametro può essere uno dei valori di tipo seguenti.

Valore (tipo) Significato
DST_BITMAP
L'immagine è una bitmap. Il parametro lData è l'handle bitmap. Si noti che la bitmap non può essere già selezionata in un contesto di dispositivo esistente.
DST_COMPLEX
L'immagine è definita dall'applicazione. Per eseguire il rendering dell'immagine, DrawState chiama la funzione callback specificata dal parametro lpOutputFunc .
DST_ICON
L'immagine è un'icona. Il parametro lData è l'handle dell'icona.
DST_PREFIXTEXT
L'immagine è testo che può contenere un acceleratore mnemonic. DrawState interpreta il carattere di prefisso & (&) come direttiva per evidenziare il carattere che segue. Il parametro lData è un puntatore alla stringa e il parametro wData specifica la lunghezza. Se wData è zero, la stringa deve essere terminata con null.
DST_TEXT
L'immagine è testo. Il parametro lData è un puntatore alla stringa e il parametro wData specifica la lunghezza. Se wData è zero, la stringa deve essere terminata con null.
 

Questo parametro può anche essere uno dei valori di stato seguenti.

Valore (stato) Significato
DSS_DISABLED
Embosci l'immagine.
DSS_HIDEPREFIX
Ignora il carattere prefisso di amperand (&) nel testo, quindi la lettera che segue non verrà sottolineata. Questa operazione deve essere usata con DST_PREFIXTEXT.
DSS_MONO
Disegna l'immagine usando il pennello specificato dal parametro hbr .
DSS_NORMAL
Disegna l'immagine senza alcuna modifica.
DSS_PREFIXONLY
Disegna solo la sottolineatura nella posizione della lettera dopo il carattere prefisso &. Non viene disegnato alcun testo nella stringa. Questa operazione deve essere usata con DST_PREFIXTEXT.
DSS_RIGHT
Allinea il testo a destra.
DSS_UNION
Dithers l'immagine.
 

Per tutti gli stati tranne DSS_NORMAL, l'immagine viene convertita in monocromia prima dell'applicazione dell'effetto visivo.

Valore restituito

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

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

Commenti

Nota

L'intestazione winuser.h definisce DrawState come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll

Vedi anche

DrawStateProc

Funzioni di disegno e disegno

Panoramica di disegno e disegno