Posicionamento das Janelas do Forms

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
NiNo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 62
Registrado em: Seg, 11 Jul 2005 2:03 pm
Localização: são Paulo
NiNo
Developer

:?: Ola para todos.

É certo afirmar que: para todos os programas que são executados pelo Windows, existe um posicionamento inicial para as janelas deste aplicativo. Normalmente estes posicionamentos são gravadas em um arquivo xxxx.INI ou ainda no regedit do windows, que veio para substituir os arquivos INI. Quando não existe um arquivo INI apropriado para o aplicativo que esta sendo executado, é assumido um valor DEFAULT para o posicionamento desta janela.
Sei que o forms posiciona suas janelas com valores default, mas sei também que as mesmas podem ser modificadas, como por exemplo:
No meu local de trabalho existem dois equipamentos com o FORMS 6i instalados e, cada um, tem uma posição diferenciada para as suas janelas (Objetc Navigator, Property Pallete, e as janelas de CANVASES), então eu pergunto:

alguém sabe, de qual forma, eu posso reposicionar estas janelas, para que as mesmas assumam os valores que eu informar, quer seja através do editor de registros do windows, ou ainda de arquivos INI?
Agradeço a todos.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Tentou executar o comando SET_WINDOW_PROPERTY?
Existe um exemplo no próprio forms, quando você procura por FIND_WINDOW:

Selecionar tudo

/*  

** Built-in:  FIND_WINDOW 
** Example:   Anchor the upper left corner of window2 at the 
**            bottom right corner of window1. 
*/ 
PROCEDURE Anchor_Bottom_Right( Window2 VARCHAR2, Window1 
VARCHAR2) IS 
  wn_id1 Window; 
  wn_id2 Window; 
  x      NUMBER; 
  y      NUMBER; 
  w      NUMBER; 
  h      NUMBER; 
BEGIN 
  /*   ** Find Window1 and get its (x,y) position, width, 
       ** and height. 
  */ 
  wn_id1 := Find_Window(Window1); 
  x      := Get_Window_Property(wn_id1,X_POS); 
  y      := Get_Window_Property(wn_id1,Y_POS); 
  w      := Get_Window_Property(wn_id1,WIDTH); 
  h      := Get_Window_Property(wn_id1,HEIGHT); 
  /* 
  ** Anchor Window2 at (x+w,y+h) 
  */ 
  wn_id2 := Find_Window(Window2); 
  Set_Window_Property(wn_id2,X_POS, x+w ); 
  Set_Window_Property(wn_id2,Y_POS, y+h ); 
END; 
Aqui na empresa, para "Fixar" esses valores, utilizamos uma tabela de parâmetros.
Eu creio que fica mais simples do que buscar os valores em arquivo texto (à não ser que, para cada determinada máquina você tenha que ter valores diferentes).
Mas, mesmo com máquinas diferentes, tem como você pegar pelo dicionário de dados o nome da máquina e, inserir linhas específicas na tabela para essas máquinas.

Em posse desse valor, você pode setar teu SET_WINDOW_PROPERTY, x_pos e y_pos.

Qualquer dúvida, manda pra gente beleza?
NiNo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 62
Registrado em: Seg, 11 Jul 2005 2:03 pm
Localização: são Paulo
NiNo
Developer

Não estou falando das janelas criadas pelo forms, mas sim, das janelas do forms (Objetc Navigator, Property Pallete, e as janelas de CANVASES)
Agradeço a colaboração.
Responder
  • Informação
  • Quem está online

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