Como centralizar uma Janela dentro de Outra Janela? [RESOLVIDO]

1. Como centralizar uma Janela dentro de Outra Janela? [RESOLVIDO]

Nick Us
Nick-us

(usa Slackware)

Enviado em 04/08/2020 - 14:12h

Isso está mais para uma dúvida de matemática que de programação. Mas estou com esse problema!

Centralizar uma Janela na Tela é simples, mas a questão é como centralizar uma Janela dentro de OUTRA janela!
Visto que a janela PAI pode estar em qualquer lugar da tela! E estou tendo essa dificuldade!

Se alguém possue o cálculo pra isso, agradeço!


  


2. MELHOR RESPOSTA

Heitor Costa
Heitor.rj

(usa Slackware)

Enviado em 06/08/2020 - 04:49h

O Cálculo é parecido com o de centralizar a janela no desktop, apenas com uma adição a mais!

Centralizar janela com o desktop:
x = Largura do desktop - Largura de sua janela / 2
y = Altura do desktop - Altura de sua janela / 2

Centralizar janela dentro de outra janela: Resposta a sua pergunta!
x = Largura da outra janela - Largura de sua janela / 2 + X da outra janela
y = Altura da outra janela - Altura de sua janela / 2 + Y da outra janela

Em código seria algo assim position(x, y)
Minha_Janela->position( (Outra_Janela->w() - Minha_Janela->w() ) / 2 + Outra_Janela->x(), ( Outra_Janela->h() - Minha_Janela->h() ) / 2 + Outra_Janela->y() ); 





3. Re: Como centralizar uma Janela dentro de Outra Janela? [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 05/08/2020 - 23:01h

Normalmente, nos sistemas que eu já usei, quando uma janela está dentro de outra, as coordenadas são relativas à janela que a contém, em vezes de coordenadas absolutas da tela. Seria muito estranho para mim que p FLTK fizesse diferente.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)


4. Re: Como centralizar uma Janela dentro de Outra Janela? [RESOLVIDO]

Nick Us
Nick-us

(usa Slackware)

Enviado em 07/08/2020 - 13:09h

Heitor.rj escreveu:

O Cálculo é parecido com o de centralizar a janela no desktop, apenas com uma adição a mais!

Centralizar janela com o desktop:
x = Largura do desktop - Largura de sua janela / 2
y = Altura do desktop - Altura de sua janela / 2

Centralizar janela dentro de outra janela: Resposta a sua pergunta!
x = Largura da outra janela - Largura de sua janela / 2 + X da outra janela
y = Altura da outra janela - Altura de sua janela / 2 + Y da outra janela

Em código seria algo assim position(x, y)
Minha_Janela->position( (Outra_Janela->w() - Minha_Janela->w() ) / 2 + Outra_Janela->x(), ( Outra_Janela->h() - Minha_Janela->h() ) / 2 + Outra_Janela->y() ); 


Obrigado, nem passou pela minha cabeça isso! E só agora também entendi o que o Paulo respondeu acima! Obrigado a todos!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts