Ir ao conteúdo

Posts recomendados

Postado

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
  • 7 anos depois...
  • 8 meses depois...
Postado

 

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?

Postado

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

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...