Função FillConsoleOutputAttribute
Importante
Este documento descreve a funcionalidade da plataforma de console que não faz mais parte do nosso roteiro do ecossistema. Não recomendamos o uso desse conteúdo em novos produtos, mas continuaremos a oferecer suporte aos usos existentes por tempo indeterminado. Nossa solução moderna preferida se concentra em sequências de terminais virtuais para máxima compatibilidade em cenários de multiplataforma. Você pode encontrar mais informações sobre essa decisão de design em nosso documento Console clássico versus terminal virtual.
Define os atributos de caracteres para um número especificado de células de caracteres, com início nas coordenadas especificadas em um buffer de tela.
Sintaxe
BOOL WINAPI FillConsoleOutputAttribute(
_In_ HANDLE hConsoleOutput,
_In_ WORD wAttribute,
_In_ DWORD nLength,
_In_ COORD dwWriteCoord,
_Out_ LPDWORD lpNumberOfAttrsWritten
);
Parâmetros
hConsoleOutput [in]
Um identificador do buffer da tela do console. O identificador deve ter o direito de acesso GENERIC_WRITE. Para saber mais, confira Segurança de buffer e direitos de acesso do console.
wAttribute [in]
Os atributos para uso ao gravar no buffer de tela do console. Para saber mais, confira Atributos de caracteres.
nLength [in]
O número de células de caracteres a serem definidas para os atributos de cor especificados.
dwWriteCoord [in]
Uma estrutura COORD que especifica as coordenadas de caracteres da primeira célula cujos atributos precisam ser definidos.
lpNumberOfAttrsWritten [out]
Um ponteiro para uma variável que recebe o número de células de caracteres cujos atributos foram realmente definidos.
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. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Se o número de células de caracteres cujos atributos devem ser definidos se estender além do final da linha especificada no buffer de tela do console, as células da próxima linha serão definidas. Se o número de células para gravação se estender além do final do buffer de tela do console, as células serão gravadas até o final do buffer de tela do console.
Os valores de caracteres nas posições gravadas não são alterados.
Dica
Essa API não é recomendada e não tem um equivalente específico de terminal virtual. O preenchimento da região fora da janela visível não é suportado e é reservado para o espaço do histórico do terminal. O preenchimento de uma região visível com novo texto ou cor é realizado pelomovimento do cursor, pela definição dos novos atributos e, em seguida, pela escrita do texto desejado para essa região, repetindo caracteres, se necessário, para a duração da execução do preenchimento. Pode ser necessário um movimento adicional do cursor seguido da escrita do texto desejado para preencher uma região retangular. Espera-se que o aplicativo cliente mantenha sua própria memória do que está na tela. Ele não pode consultar o estado remoto. Mais informações podem ser encontradas na documentação do console clássico versus terminal virtual.
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] |
Cabeçalho | ConsoleApi2.h (via WinCon.h, inclui o Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |