Forms centralizado

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
gshimose
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Sex, 22 Fev 2008 10:32 pm
Localização: sp
GShimose

É possível abrir um forms centralizado?

Obrigada,
Avatar do usuário
alef
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 119
Registrado em: Ter, 06 Nov 2007 2:45 pm
Localização: Patos de Minas - MG
Alexandre Matos
Patos de Minas - MG
Do interior de Minas para o resto do Mundo

qual a versão que você usa?
rogenaro
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Sex, 30 Mar 2007 7:26 pm
Localização: Londrina - PR
Rafael O. Genaro

Na versão cliente/servidor, você pode posicionar a janela do forms no centro da tela "na unha" utilizando as built-ins

Selecionar tudo

get_window_property
e 
set_window_property
Nesse caso, basta pegar a largura de sua janela principal

Selecionar tudo

px := get_window_property(forms_mdi_window, width);
py := get_window_property(forms_mdi_window, height);
Em seguida, basta calcular a posição onde a sua janela deverá ser colocada, utilizando o

Selecionar tudo

ww := get_window_property('sua janela', width);
wh := get_window_property('sua janela', height);
Em seguida, calcule a posição correta

Selecionar tudo

x := (px - ww) / 2;
y := (py - wh) / 2;
Por fim, defina a posição x e y da sua janela

Selecionar tudo

set_window_property('sua janela', x_pos, x);
set_window_property('sua janela', y_pos, y);
Lembrando que você teria que tratar algumas situações, como por exemplo, o que fazer se a janela é maior que a janela principal do forms?



Para centralizar a janela principal do forms, você precisaria também utilizar a built_in

Selecionar tudo

get_application_property(display_height);
get_application_property(display_width);
para recuperar a resolução da tela do usuário, e seguir a mesma lógica.
Avatar do usuário
NightSpy
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 49
Registrado em: Ter, 09 Set 2008 4:18 pm
Localização: SP

Opa, ai galera, uso para centralizar esta forma aqui:

Selecionar tudo

begin
  SET_WINDOW_PROPERTY ('ROOT_WINDOW', POSITION,
      Trunc(get_window_property(FORMS_MDI_WINDOW, WIDTH) / 2 -
            get_window_property('ROOT_WINDOW'       , WIDTH) / 2),
      Trunc(get_window_property(FORMS_MDI_WINDOW, HEIGHT)/ 2 -
            get_window_property('ROOT_WINDOW'       , HEIGHT)/ 2));
end;
Isto no pre-form do form, onde ROOT_WINDOW é o nome da sua WINDOW

Espero ter ajudado.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 14 visitantes