Ir ao conteúdo
  • Cadastre-se

C++ Como obter a cor atual do Windows


Posts recomendados

Eu estava desenvolvendo uma biblioteca como podem ver em https://www.clubedohardware.com.br/forums/topic/1396899-tutorial-como-colocar-cor-no-c/, mas, queria adicionar a funcionalidade de checar se a cor digitada é a mesma que a cor atual. Alguém sabe como fazer isso?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Olá

Imagino que esteja falando da console e não da interface gráfica

 

Dia atrás postei um programa que precisava disso. Era uma animação de um jogo de bingo e está aqui.

 

A parte relevante é essa eu acho

    nome = "Clube do Bingo";
    total_cartelas = t;
    // agora cria as cartelas todas
    pCartelas = new (Cartela[total_cartelas]);
    string        prefixo = "Cartela ";
    string        nome = "";
    // agora a cor: precisamos saber a cor que esta em uso
    // para definir nas cartelas a cor certa
    HANDLE    H = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO info;
    GetConsoleScreenBufferInfo(H, &info);
    // define as cores
    cor_nao_sorteados_ainda = (WORD)info.wAttributes;
    cor_sorteados = FOREGROUND_GREEN;
    total_cartelas_completas = 0;

Em resumo você chama GetConsoleScreenBufferInfo() e recebe a estrutura preenchida...

 

No caso de janelas comuns acho que basta chamar GetSystemMetrics() como descrito na documentação aquic com os parâmetros corretos. No caso de Linux vai depender do que estiver usando para a interface gráfica...

 

No caso da console no linux recomendo muito dar uma olhada em ncurses, sucessora de curses que vem desde o Unix nos '90 ou antes e é muito ampla...

 

Note que as funções de console operam a partir de handles, as SystemMetrics em pixels, e curses em muitos e muitos ponteiros para estruturas também. No fundo tudo bem parecido.

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...