Ir para conteúdo
Faça parte da equipe! (2024) ×

[C/C++][Tutorial] conio.h, Cor do Texto & Cor do Fundo com Win32 API


felipeanchieta
 Compartilhar

Posts Recomendados

Olá pessoal do C e C++,

Hoje eu vou começar falando sobre a conio.h.

 

Bom, pra quem não sabe, vamos começar do início: -qqq

 

A Borland, ao contrário do que vocês pensam, não fez só o Turbo Pascal e o Delphi 6 e 7 (as outras versões ngm conhece), ela também fez

 

  • Turbo C
  • Turbo C++
  • Turbo Assembler & Linker
  • Etc..

 

E esse Turbo C e C++ vinha com um cabeçalho ( não é biblioteca ¬¬ ) que tinha algumas funções do DOS ( na verdade, do Prompt de Comando, pq ngm queria saber do DOS) chamado conio.h

 

Esse cabeçalho, conio.h, tinha algumas funções até hoje invejáveis pela sua simpliscidade, como por exemplo...

 

clrscr()

gotoxy()

textbackground()

textcolor()

getch()

getche()

putch()

 

e etc...

 

Respectivamente, elas faziam as seguintes coisas..

 

Limpar a tela

Ir para um determinado lugar da tela para escrever, p/ ex.

Mudar a cor do fundo

Mudar a cor da fonte

Ler um caracter

Ler um caracter² (não sei a diferença ainda)

"Printar" um caracter

 

O que acontece é, que quem pensa não utiliza softwares ultrapassados como o Turbo C++ pra nada e também ninguém usa a sua continuação, o C++ Builder da Embarcadero, atual desenvolvedora do Delphi.

 

E pela as leis de direitos autorais e intelectuais, conio.h não pode ser copiada (na verdade pode, mas não funfa! XD ) ou seja, temos que nos adequar a usar outras função para deixar o seu programa em console bunitinho!

 

I. Mudando a cor do texto e a cor do fundo

 

 

Bom, como sabemos, não iremos usar o conio.h, então teremos que usar algo melhor... a Windows API - cabeçalho: Windows.h.

 

O que você tem que saber é que, você tem que saber Windows API.

 

Bom, antes de tudo, precisamos mostrar ao Windows o HANDLE do Janela (Console) atual, então, declaramos a variável hConsole do tipo HANDLE..

 

HANDLE hConsole

 

e depois, ou não, inicializamos ela da seguinte maneira, em que o Console seria a saída das funções.

 

hConsole = GetStdHandle( STD_OUTPUT_HANDLE )

 

Ou seja, esse será o HANDLE para Saída (output).

 

-

 

Agora precisamos usar a função adequada para mudar a cor do fundo..

 

Esta será a ..

 

SetConsoleTextAttribute( HANDLE DO CONSOLE, COR );

 

Sendo o Handle de Console atual, hConsole e a cor, bom, a cor é mais complicado.

 

Para você saber quais cores tem duas maneiras, compilar o seguinte código:

 

É necessário se cadastrar para acessar o conteúdo.

 

 

Ou... ir no prompt de comando e digitar color -?.

 

Eu explico, funciona assim

 

Xx , em que X é a cor do fundo e x do texto, então, se você digitar..

 

COLOR 02

ou

COLOR 0A

 

seu prompt fica Matrix.

 

 

A diferença é que, com a função SetConsoleTextAttribute() ela só vai mudar

cor do texto que você escrever, e não o console inteiro. (eu acho)

 

 

Bom, é isso, espero ter ajudado a quem precisava de ajuda...

Qualquer dúvida realmente útil eu responde e se necessário, edito o post.

 

Agora se vir perguntar, como copila o codico!!, aí já sabe né...

 

 

Flws!!! (PS: Não vou fazer vídeo aulas! ¬¬)

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.