Ir ao conteúdo
  • Cadastre-se

centralizando console


ReneDouglas3

Posts recomendados

Galera to fazendo um pequeno programa e eu tinha 2 problemas, o primeiro era aumentar o tamanho da tela do windows. Usei a seguinte função:

system("MODE con cols=170 lines=60");

Mas segundo problema é centralizar a tela do DOS no monitor, pois quando uso a funcao acima a tela aparece maior, mas não aparece centralizada. Alguém tem alguma ideia?

Obs.: Uso o Devc++ 4.9 e linguagem C

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

  • 7 anos depois...
  • 8 meses depois...

 

Em 03/01/2019 às 18:54, vangodp disse:

#include <windows.h>

int main()
{
	HWND consoleWindow = GetConsoleWindow();

	SetWindowPos( consoleWindow, 0, 500, 500, 0, 0, SWP_NOSIZE | SWP_NOZORDER );	

	return 0;
}

 

 

Não tem uma coisa mais simples, usando a própria função system( )? Como o @ReneDouglas3 fez?

Link para o comentário
Compartilhar em outros sites

Usar system() para fazer algo não é de fato fazer algo. Apenas monta uma string com um comando que é enviado ao interpretador de comandos do sistema e é executado. 

 

É como explicar o caminho para um lugar, só que usando o Waze :D 

 

Você não está escrevendo uma função: está escrevendo uma string.

 

De volta ao tópico: para você fazer isso o caminho é usar o Windows ou o linux e obter o tamanho da tela, que em geral vem em pixels. Aí você identifica sua janela e pega as métricas dela, o tamanho. Calcula a posição desejada e faz as contas de onde a janela deverá ficar.

E aí move sua janela para a posição correta.

Vai usar no windows por exemplo GetSystemMetrics() para pegar as informações da tela, SetWindowPos() para dar um novo local para a janela, e coisas assim. Note que as medidas dessas coisas vem em pixels e não em caracteres, afinal são janelas. E para manipular as janelas você usa um tipo de endereço que é chamado de Handle. Aqui diz como tratar janelas de console e pode ser útil: https://support.microsoft.com/pt-br/help/124103/how-to-obtain-a-console-window-handle-hwnd em portugues.

 

No linux --- e no mac --- não muda muito. A lógica é essa.

 

  • Curtir 1
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...