Função DrawStateA (winuser.h)

A função DrawState exibe uma imagem e aplica um efeito visual para indicar um estado, como um estado desabilitado ou padrão.

Sintaxe

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
);

Parâmetros

[in] hdc

Um identificador para o contexto do dispositivo no qual desenhar.

[in] hbrFore

Um identificador para o pincel usado para desenhar a imagem, se o estado especificado pelo parâmetro fuFlags for DSS_MONO. Esse parâmetro é ignorado para outros estados.

[in] qfnCallBack

Um ponteiro para uma função de retorno de chamada definida pelo aplicativo usada para renderizar a imagem. Esse parâmetro será necessário se o tipo de imagem em fuFlags for DST_COMPLEX. Ele é opcional e pode ser NULL se o tipo de imagem for DST_TEXT. Para todos os outros tipos de imagem, esse parâmetro é ignorado. Para obter mais informações sobre a função de retorno de chamada, consulte a função DrawStateProc .

[in] lData

Informações sobre a imagem. O significado desse parâmetro depende do tipo de imagem.

[in] wData

Informações sobre a imagem. O significado desse parâmetro depende do tipo de imagem. No entanto, é zero estendido para uso com a função DrawStateProc .

[in] x

O local horizontal, em unidades de dispositivo, no qual desenhar a imagem.

[in] y

O local vertical, em unidades de dispositivo, no qual desenhar a imagem.

[in] cx

A largura da imagem, em unidades de dispositivo. Esse parâmetro será necessário se o tipo de imagem for DST_COMPLEX. Caso contrário, pode ser zero para calcular a largura da imagem.

[in] cy

A altura da imagem, em unidades de dispositivo. Esse parâmetro será necessário se o tipo de imagem for DST_COMPLEX. Caso contrário, pode ser zero para calcular a altura da imagem.

[in] uFlags

O tipo de imagem e o estado. Esse parâmetro pode ser um dos seguintes valores de tipo.

Valor (tipo) Significado
DST_BITMAP
A imagem é um bitmap. O parâmetro lData é o identificador de bitmap. Observe que o bitmap já não pode ser selecionado em um contexto de dispositivo existente.
DST_COMPLEX
A imagem é definida pelo aplicativo. Para renderizar a imagem, DrawState chama a função de retorno de chamada especificada pelo parâmetro lpOutputFunc .
DST_ICON
A imagem é um ícone. O parâmetro lData é o identificador de ícone.
DST_PREFIXTEXT
A imagem é um texto que pode conter um acelerador mnemônico. DrawState interpreta o caractere de prefixo e comercial (&) como uma diretiva para sublinhar o caractere a seguir. O parâmetro lData é um ponteiro para a cadeia de caracteres e o parâmetro wData especifica o comprimento. Se wData for zero, a cadeia de caracteres deverá ser terminada em nulo.
DST_TEXT
A imagem é texto. O parâmetro lData é um ponteiro para a cadeia de caracteres e o parâmetro wData especifica o comprimento. Se wData for zero, a cadeia de caracteres deverá ser terminada em nulo.
 

Esse parâmetro também pode ser um dos seguintes valores de estado.

Valor (estado) Significado
DSS_DISABLED
Incorpora a imagem.
DSS_HIDEPREFIX
Ignora o caractere de prefixo e comercial (&) no texto, portanto, a letra a seguir não será sublinhada. Isso deve ser usado com DST_PREFIXTEXT.
DSS_MONO
Desenha a imagem usando o pincel especificado pelo parâmetro hbr .
DSS_NORMAL
Desenha a imagem sem nenhuma modificação.
DSS_PREFIXONLY
Desenha apenas o sublinhado na posição da letra após o caractere de prefixo e comercial (&). Nenhum texto na cadeia de caracteres é desenhado. Isso deve ser usado com DST_PREFIXTEXT.
DSS_RIGHT
Alinha o texto à direita.
DSS_UNION
Dithers a imagem.
 

Para todos os estados, exceto DSS_NORMAL, a imagem é convertida em monocromática antes que o efeito visual seja aplicado.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero.

Comentários

Observação

O cabeçalho winuser.h define DrawState como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll

Confira também

DrawStateProc

Funções de pintura e desenho

Visão geral de pintura e desenho