4D v13.4

Tipos de Janelas

Página Inicial

 
4D v13.4
Tipos de Janelas

Tipos de Janelas  


 

 

Pode utilizar uma das seguintes constantes pré-definidas para especificar o tipo de janela a abrir com Open window:

Constante Tipo Valor Comentário
Plain no zoom box window Inteiro longo 0
Modal dialog box Inteiro longo 1
Plain dialog box Inteiro longo 2 Pode ser uma janela pop-up
Alternate dialog box Inteiro longo 3 Pode ser uma janela pop-up
Plain fixed size window Inteiro longo 4
Movable dialog box Inteiro longo 5 Pode ser uma janela pop-up
Plain window Inteiro longo 8
Round corner window Inteiro longo 16
Pop up window Inteiro longo 32
Sheet window Inteiro longo 33
Resizable sheet window Inteiro longo 34
Palette window Inteiro longo 1984 Pode ser uma janela pop-up
Texture appearance Inteiro longo 2048
Compositing Mode Inteiro longo 4096
Has toolbar button Mac OS Inteiro longo 8192

Se passar uma destas constantes a Open window, abre uma janela padrão. Para abrir uma janela flutuante, passe um tipo de janela negativo a Open window.

A principal característica das janelas flutuantes é que permaneçam em primeiro plano, mesmo se o usuário clicar em outra janela do processo. As janelas flutuantes são utilizadas geralmente para mostrar informação permanente ou barras de ferramentas.

Uma janela modal coloca ao usuário em um estado (ou “modo”) onde apenas pode atuar dentro desta janela. Enquanto a janela modal é mostrada, os comandos de menu e as outras janelas da aplicação são inacessíveis. Para fechar uma janela modal, o usuário deve validá-la, cancelá-la, ou escolher uma das opções que oferece. As caixas de diálogo de alerta são exemplos típicos de janelas modais.

Em 4D, as janelas de tipo 1 e 5 são janelas modais.

Nota: uma janela modal sempre permanece no primeiro plano. Por causa disso, quando uma janela modal chamará uma janela não modal, esta última janela é mostrada ao fundo, mesmo se for chamado depois da janela modal. Portanto evite este tipo de operação.

Pelo contrário, quando uma janela modal chamar a outra janela modal, a última janela se mostrará no primeiro plano.

Abaixo estão as descrições para cada tipo de janela, em Windows (esquerda) e em Macintosh (direita). 

  • Pode ter um título: sim
  • Pode ter uma caixa Fechar ou um equivalente: sim
  • Pode ser redimensionado: não em Macintosh
  • Pode minimizar/maximizar ou zoom: não
  • Adaptada às barras de rolagem: sim e não
  • Uso: entrada de dados com ADD RECORD ou equivalente

  • Pode ter um título: não
  • Pode ter uma caixa Fechar ou um equivalente: não
  • Pode ser redimensionado: não
  • Pode minimizar/maximizar ou zoom: não
  • Adaptada às barras de rolagem: não
  • Uso: DIALOG, ADD RECORD ou equivalente
  • As janelas desse tipo são modais

 

  • Pode ter um título: sim
  • Pode ter uma caixa Fechar ou um equivalente: sim
  • Pode ser redimensionado: sim
  • Pode minimizar/maximizar ou zoom: não em Macintosh
  • Adaptada às barras de rolagem: sim
  • Uso: entrada de dados com barras de rolagem, DISPLAY SELECTION, MODIFY SELECTION, etc.

 

  • Pode ter um título: sim
  • Pode ter uma caixa Fechar ou um equivalente: sim
  • Pode ser redimensionado: sim
  • Pode minimizar/maximizar ou zoom: sim
  • Adaptada às barras de rolagem: sim
  • Uso: entrada de dados com barras de rolagem, DISPLAY SELECTION, MODIFY SELECTION, etc.

  • Pode ter um título: sim
  • Pode ter uma caixa Fechar ou um equivalente: não
  • Pode ser redimensionado: não
  • Pode minimizar/maximizar ou zoom: não
  • Adaptada às barras de rolagem: não
  • Uso: DIALOG, ADD RECORD ou equivalente
  • Janelas desse tipo são modais, mas podem ser movidas e podem ser usadas com a janela flutuante.

  • Pode ter um título: não
  • Pode ter uma caixa Fechar ou um equivalente: não
  • Pode ser redimensionado: não
  • Pode minimizar/maximizar ou zoom: não
  • Adaptada às barras de rolagem: não
  • Uso: DIALOG, ADD RECORD ou equivalente
  • Janelas desse tipo são modais, a não ser que sejam usadas com a janela flutuante.

  • Pode ter um título: não
  • Pode ter uma caixa Fechar ou um equivalente: não
  • Pode ser redimensionado: não
  • Pode minimizar/maximizar ou zoom: não
  • Adaptada às barras de rolagem: não
  • Uso: DIALOG, ADD RECORD ou equivalente
  • Janelas desse tipo são modais, a não ser que sejam usadas com a janela flutuante.



Pode chamar Open window, pode adicionar um ou mais das seguintes constantes a  Palette window para obter variações do comportamento da janela

Constante Tipo Valor
Has grow box Inteiro longo 4
Has highlight Inteiro longo 1
Has window title Inteiro longo 2
Has zoom box Inteiro longo 8


  • Pode ter um título: sim, se a variação for especificada
  • Pode ter uma caixa Fechar ou um equivalente: sim
  • Pode ser redimensionado: sim, se Has window title for especificado
  • Pode minimizar/maximizar ou zoom: Sim, se a variação Has zoom box for especificada
  • Adaptada às barras de rolagem: sim se a variação Has grow box for especificada.
  • Uso:  Janelas flutuantes com DIALOG, ADD RECORD (sem dados de entrada)

  • Pode ter um título: sim
  • Pode ter uma caixa Fechar ou um equivalente: sim
  • Pode ser redimensionado: não em Macintosh
  • Pode minimizar/maximizar ou zoom: não
  • Adaptada às barras de rolagem: não em Macintosh
  • Uso: raro (obsoleto)

As janelas folha (sheet windows) são específicas para Mac OS X. Estas janelas “descem” da barra de título da janela principal utilizando uma animação e são mostradas sobre a janela principal. São centradas automaticamente na janela principal. Suas propriedades são idênticas às das caixas de diálogo modais. Geralmente são utilizadas para realizar uma ação diretamente relacionada com a que é realizada na janela principal.
  • Pode criar uma janela folha apenas em Mac OS X se a última janela aberta for visível e de tipo documento (form).
  • O comando abre uma janela de tipo 1 (diálogo modal) ao invés de uma de tipo 33 ou de tipo 8 (janela padrão) ao invés de uma de tipo 34:
    • se a última janela aberta não for visível ou não for de tipo documento,
    • em windows.
  • Como uma janela folha deve ser criada sobre um formulário, sua visualização é recusada no evento On load do primeiro formulário carregado na janela (ver o exemplo 4 do comando Open window).
  • Uso: DIALOG, ADD RECORD ou equivalente, em Mac OS (não é padrão em Windows).

Este tipo de janela tem as características essenciais do tipo Diálogo simples (2) e dispõe de propriedades avançadas específicas:
  • A janela é fechada automaticamente e o evento "cancelar" se passar para a janela quando:
    • ocorrer um clique fora da janela;
    • a janela de fundo ou a janela MDI (Multiple Document Interface) se move;
    • o usuário clica na tecla Esc.
  • Esta janela se mostra adiante de sua janela "pai" (não deve ser utilizado como janela principal do processo). A janela de fundo não está desativada. Entretanto, não recebe mais eventos.
  • Não é possível redimensionar ou mover a janela utilizando o mouse; entretanto, ao realizar estas ações por programação, se otimiza o redimensionamento dos elementos do fundo.
  •  Uso: Este tipo de janela se adapta particularmente ao manejo dos pop-up menus associados aos botões 3D de tipo “bevel” ou “barras de ferramentas”.


Em Mac OS, é possível aplicar o aspecto metálico às janelas. Este tipo de aparência se encontra com frequência na interface Macintosh. Em windows, esta propriedade não tem efeito.

Para aplicar a aparência metálica a uma janela criada pelo comando Open window, pode adicionar a constante Texture appearance ao tipo de janela definido no parâmetro tipo. Por exemplo:

 $win:=Open window(10;80;-1;-1;Plain window+Texture appearance;"")

Esse visual pode estar associado com os tipos de janelas abaixo:

Plain window
Plain no zoom box window
Plain fixed size window
Movable dialog box
Round corner window

O modo "compositing" é um modo de gestão interna das janelas em Mac OS X, especialmente requerido para a ativação do aspecto "metálico" ou "texturizado", além da visualização de certos objetos dinâmicos como as áreas web.

Por razões técnicas, este modo se utiliza em janelas 4D apenas quando for necessário. Como padrão, as janelas geradas através dos comandos Open window e Open form window não o utilizam. Para ativá-lo, necessita adicionar a constante Compositing Mode (Open window) ou a constante Compositing Mode form window (Open form window) ao tipo de janela durante a chamada ao comando.

Em windows, esta propriedade não tem efeito.

Nota: certas áreas e janelas de 4D não são compatíveis com o modo compositing (em particular as janelas geradas pelos comandos DISPLAY SELECTION e MODIFY SELECTION ou as áreas 4D Chart). Se usa o modo compositing nestes contextos, se gera um mal funcionamento da visualização.

Em Mac OS, 4D v12 permite mostrar o botão de gestão da barra de ferramentas. Este botão padrão permite alternadamente mostrar e ocultar a barra de ferramentas da janela:

Para mostrar a barra de ferramentas de uma janela criada utilizando o comando Open window, apenas necessita adicionar a constante Has toolbar button Mac OS. Por exemplo:

 $NewWin:=Open window(10;10;1010;810;Plain window+Has toolbar button Mac OS)

Quando se mostra a barra de ferramentas da janela, o evento de formulário On Mac toolbar button se gera no método de formulário quando o usuário clica no botão de gestão da barra de ferramentas da janela. A propriedade correspondente deve ter sido selecionada nas propriedades do evento de formulário

Apenas se gera o evento, 4D não realiza nenhuma outra ação na janela. É decisão do desenvolvedor modificar o tamanho da janela e mostrar e ocultar seus elementos de interface.

 
PROPRIEDADES 

Produto: 4D
Tema: Janelas

 
VER TAMBÉM 

Open external window
Open form window
Open window