Gerenciamento de janela

Observação

Este guia de design foi criado para o Windows 7 e não foi atualizado para versões mais recentes do Windows. Grande parte das diretrizes ainda se aplica em princípio, mas a apresentação e os exemplos não refletem nossas diretrizes de design atuais.

Este artigo aborda o posicionamento padrão das janelas quando exibido inicialmente na tela, sua ordem de empilhamento em relação a outras janelas (ordem Z), seu tamanho inicial e como sua exibição afeta o foco de entrada.

Para as seguintes diretrizes:

  • Uma janela de nível superior não tem janela de proprietário e é exibida na barra de tarefas. Exemplos: janelas de aplicativo. No Windows Vista e posteriores, caixas de diálogo sem janelas de proprietário e folhas de propriedades também são consideradas de nível superior.
  • Uma janela de propriedade tem uma janela de proprietário e não é exibida na barra de tarefas. Exemplos: caixas de diálogo modais, caixas de diálogo modeless.
  • Uma janela iniciada pelo usuário é exibida como resultado direto da ação de um usuário. Caso contrário, ele será iniciado pelo programa se iniciado por um programa ou pelo sistema iniciado se iniciado pelo Microsoft Windows . Por exemplo, uma caixa de diálogo Opções é iniciada pelo usuário, mas um lembrete de reunião é iniciado pelo programa.
  • Uma janela contextual é uma janela iniciada pelo usuário que tem uma relação forte com o objeto do qual foi iniciado. Por exemplo, janelas exibidas por menus de contexto ou ícones de área de notificação são contextuais, mas janelas exibidas por barras de menus não são.
  • O monitor ativo é o monitor em que o programa ativo está em execução.
  • O monitor padrão é aquele com o menu Iniciar, a barra de tarefas e a área de notificação.

Conceitos de design

O gerenciamento de janelas é uma das atividades mais fundamentais do usuário. Antes do Windows Vista, as janelas geralmente recebiam pequenos tamanhos padrão e eram colocadas no meio da tela. Essa abordagem funciona bem para monitores individuais e de baixa resolução mais antigos, mas não para hardware de vídeo moderno.

O Windows foi projetado para dar suporte ao hardware de vídeo moderno, que geralmente é executado em resoluções significativamente maiores do que a resolução de tela mínima com suporte e pode ter vários monitores. Com as seguintes ações:

  • Permite que os usuários se beneficiem totalmente de seu hardware avançado.
  • Requer menos esforço dos usuários para mover o mouse em distâncias maiores.
  • Torna o posicionamento da janela mais previsível e, portanto, mais fácil de encontrar.

A resolução de tela mínima com suporte

A resolução mínima de tela efetiva com suporte do Windows é de 800 x 600 pixels. Isso significa que as janelas de tamanho fixo devem ser exibidas totalmente na resolução mínima (reservando espaço para a barra de tarefas), mas janelas redimensionáveis podem ser otimizadas para uma resolução efetiva de 1024 x 768 pixels, desde que estejam funcionando na resolução mínima.

Embora atualmente as resoluções de tela física mais comuns para computadores Windows sejam de 1024 x 768 pixels ou superiores, direcionar 800 x 600 pixels permite que o Windows:

  • Funcione bem com todos os hardwares modernos, incluindo computadores de notebook pequenos.
  • Suporte a configurações de dpi alta (pontos por polegada).
  • Suporte a fontes maiores para acessibilidade.
  • Suporte ao hardware usado globalmente.

Escolher a resolução mínima para dar suporte requer atingir o equilíbrio certo. Direcionar uma resolução mais alta resultaria em uma experiência abaixo do ideal para uma porcentagem significativa de hardware moderno, enquanto direcionar uma resolução mais baixa impediria os designers de aproveitar ao máximo o espaço disponível na tela.

Se você acredita que seus usuários de destino estão usando resoluções significativamente mais altas do que o mínimo do Windows, você pode projetar seu programa para aproveitar ao máximo o espaço extra na tela usando janelas redimensionáveis que dimensionam bem.

Diretrizes

Geral

  • Dê suporte à resolução efetiva mínima do Windows de 800 x 600 pixels. Para interfaces de usuário críticas (UIs) que devem funcionar no modo de segurança, dê suporte a uma resolução efetiva de 640 x 480 pixels. Certifique-se de considerar o espaço usado pela barra de tarefas reservando 48 pixels relativos verticais para janelas exibidas com a barra de tarefas.
  • Otimize layouts de janela redimensionáveis para uma resolução efetiva de 1024 x 768 pixels. Redimensione automaticamente essas janelas para resoluções de tela inferior de uma forma que ainda esteja funcional.
  • Certifique-se de testar suas janelas em 96 dpi (100%) a 800 x 600 pixels, 120 dpi (125%) a 1024x768 pixels e 144 dpi (150%) a 1200 x 900 pixels. Verifique se há problemas de layout, como recorte de controles, texto e janelas e alongamento de ícones e bitmaps.
  • Para programas com cenários de toque e uso móvel, otimize para 120 dpi. As telas de alto dpi atualmente são predominantes em computadores móveis e de toque.
  • Janelas redimensionáveis não devem mais mostrar o glifo de redimensionamento no canto inferior direito, porque:
    • Todos os lados e bordas de uma janela são redimensionáveis, não apenas no canto inferior direito.
    • O glifo requer uma barra de status para exibir, mas muitas janelas redimensionáveis não fornecem barras de status.
    • As bordas de janela redimensionáveis e os ponteiros de redimensionamento são mais eficazes na comunicação de que uma janela é redimensionável do que o glifo de redimensionamento.

Controles da barra de título

Use os controles da barra de título da seguinte maneira:

  • Fechar. Todas as janelas primárias e secundárias com um quadro de janela padrão devem ter um botão Fechar na barra de título. Clicar em Fechar tem o efeito de cancelar ou fechar a janela.

captura de tela da caixa de diálogo sem botão fechar

Neste exemplo, a caixa de diálogo não tem um botão Fechar na barra de título.

  • Minimizar. Todas as janelas primárias e janelas secundárias de modelagem longa (como caixas de diálogo de progresso) devem ter um botão Minimizar. Clicar em Minimizar reduz a janela para o botão da barra de tarefas. Consequentemente, janelas que podem ser minimizadas exigem um ícone de barra de título.
  • Maximizar/restaurar para baixo. Todas as janelas redimensionáveis devem ter um botão Maximizar/Restaurar para baixo. Clicar em Maximizar exibe a janela em seu maior tamanho, que para a maioria das janelas é de tela inteira; enquanto clicar em Restaurar para baixo exibe a janela em seu tamanho anterior. No entanto, algumas janelas não se beneficiam do uso de uma tela inteira, portanto, essas janelas devem maximizar para seu maior tamanho útil.

Tamanho da janela

  • Escolha um tamanho de janela padrão apropriado para seu conteúdo. Não tenha medo de usar tamanhos de janela iniciais maiores se você puder usar o espaço com eficiência.
  • Use janelas redimensionáveis sempre que for prático para evitar barras de rolagem e dados truncados. Windows com conteúdo dinâmico e listas se beneficiam mais de janelas redimensionáveis.
  • Para documentos de texto, considere um comprimento máximo de linha de 65 caracteres para facilitar a leitura do texto. (Os caracteres incluem letras, pontuação e espaços.)
  • Janelas de tamanho fixo:
    • Deve estar totalmente visível e dimensionado para caber dentro da área de trabalho.
  • Janelas redimensionáveis:
    • Pode ser otimizado para resoluções mais altas, mas dimensionado conforme necessário no tempo de exibição para a resolução real da tela.
    • Para tamanhos de janela progressivamente maiores, deve mostrar progressivamente mais informações. Verifique se pelo menos uma parte ou controle de janela tem conteúdo redimensionável.
    • Deve evitar tamanhos restaurados padrão maximizados ou quase maximizados. Em vez disso, escolha um tamanho padrão que normalmente é o mais útil sem ser tela inteira. Suponha que os usuários maximizarão a janela em vez de redimensionar para torná-la em tela inteira.
    • Deve definir um tamanho mínimo de janela se houver um tamanho abaixo do qual o conteúdo não seja mais utilizável. Para controles redimensionáveis, defina tamanhos mínimos de elementos redimensionáveis para seus menores tamanhos funcionais, como larguras de coluna funcional mínimas em exibições de lista.
    • Deve alterar a apresentação se isso torna o conteúdo utilizável em tamanhos menores.

captura de tela dos botões do media player

Neste exemplo, Reprodutor Multimídia do Windows altera seu formato quando a janela se torna muito pequena para o formato padrão.

Localização da janela

  • Para as diretrizes a seguir, "centralizar" significa inclinar o posicionamento vertical ligeiramente para a parte superior do monitor, em vez de colocar exatamente no meio. Coloque 45% do espaço entre a parte superior do monitor/proprietário e a parte superior da janela e 55% entre a parte inferior do monitor/proprietário e a parte inferior da janela. Faça isso porque o olho é naturalmente tendencioso em direção à parte superior da tela.

    figura da janela colocada ligeiramente acima do centro

    "Centralizar" significa inclinar o posicionamento vertical ligeiramente para a parte superior do monitor.

  • Se uma janela for contextual, sempre exiba-a perto do objeto do qual foi iniciada. Coloque-o fora do caminho para que o objeto de origem não seja coberto pela janela.

    • Se exibido usando o mouse, quando possível, coloque-o deslocado para baixo e para a direita.

    figura da janela contextual colocada à direita do objeto

    Mostrar janelas contextuais próximas ao objeto do qual ele foi iniciado.

    figura da janela da área de notificação

    Os ícones da área de notificação iniciados pelo Windows são exibidos perto da área de notificação.

  • Se exibida usando uma caneta, quando possível, coloque-a para não ser coberta pela mão do usuário. Para usuários destros, exiba à esquerda; caso contrário, será exibido à direita.

    figura da janela contextual colocada à esquerda do objeto

    Ao usar uma caneta, também mostre janelas contextuais para que elas não sejam cobertas pela mão do usuário.

  • Desenvolvedores: Você pode distinguir entre eventos de mouse e eventos de caneta usando a API GetMessageExtraInfo . Você pode determinar a entrega do usuário usando a API SystemParametersInfo com SPI_GETMENUDROPALIGNMENT.

  • Coloque as caixas de diálogo de progresso fora do caminho no canto inferior direito do monitor ativo.

    figura da barra de progresso no canto inferior direito

    Coloque as caixas de diálogo de progresso no canto inferior direito.

  • Se uma janela não estiver relacionada ao contexto atual ou à ação do usuário, coloque-a longe do local do ponteiro atual. Isso impede a interação acidental.

  • Se uma janela for um aplicativo ou documento de nível superior, sempre coloque em cascata sua origem no canto superior esquerdo do monitor. Se criado pelo programa ativo, use o monitor ativo; caso contrário, use o monitor padrão.

    figura de três janelas em cascata do canto superior esquerdo

    Janelas de documento ou aplicativo de nível superior em cascata no canto superior esquerdo do monitor.

  • Se uma janela for um utilitário de nível superior, sempre a exibirá "centralizada" no monitor. Se criado pelo programa ativo, use o monitor ativo; caso contrário, use o monitor padrão.

    figura da janela do utilitário centralizada no monitor

    Centralizar janelas de utilitário de nível superior.

  • Se uma janela for de propriedade, exiba-a inicialmente "centralizada" na parte superior da janela do proprietário. Para exibição subsequente, considere exibi-lo em seu último local (em relação à janela do proprietário) se isso provavelmente for mais conveniente.

    figura da janela de propriedade centralizada sobre a janela do proprietário

    Inicialmente, centralize as janelas de propriedade na parte superior da janela do proprietário.

  • Para caixas de diálogo sem formação, sempre exiba inicialmente na parte superior da janela do proprietário para facilitar a localização. No entanto, se o usuário ativar a janela de proprietário, isso poderá obscurecer a caixa de diálogo sem formatar.

    figura da caixa de diálogo sem janela do proprietário

    Exibir caixas de diálogo sem formatar inicialmente na parte superior da janela do proprietário para facilitar a localização.

  • Se necessário, ajuste o local inicial para que toda a janela fique visível dentro do monitor de destino. Se uma janela redimensionável for maior que o monitor de destino, reduza-a para caber.

Ordem da janela (ordem Z)

  • Sempre coloque janelas próprias na parte superior da janela do proprietário. Nunca coloque janelas próprias sob suas janelas de proprietário, porque provavelmente os usuários não as verão.
  • Respeitar a seleção de ordem Z dos usuários. Quando os usuários selecionarem uma janela, leve apenas as janelas associadas a essa instância do programa (a janela mais qualquer proprietário ou janelas de propriedade) para a parte superior do pedido Z. Não altere a ordem de nenhuma outra janela, como instâncias independentes do mesmo programa.

Ativação da janela

  • Respeitar a seleção de estado da janela dos usuários. Se uma janela existente precisar de atenção, pisque o botão da barra de tarefas três vezes para chamar a atenção e deixá-la realçada, mas não faça mais nada. Não restaure nem ative a janela. Não use efeitos sonoros. Em vez disso, permita que os usuários ativem a janela quando estiverem prontos.
    • Exceção: Se a janela não aparecer na barra de tarefas, coloque-a na parte superior de todas as outras janelas e exiba sua barra de título.
  • Restaurar uma janela primária também deve restaurar todas as janelas secundárias, mesmo que essas janelas secundárias tenham seu próprio botão de barra de tarefas. Ao restaurar, coloque as janelas secundárias na parte superior da janela primária.

Foco de entrada

  • O Windows exibido por ações iniciadas pelo usuário deve ter o foco de entrada, mas somente se a janela for renderizada imediatamente (dentro de 5 segundos). Depois que a janela é renderizada, ela pode ter o foco de entrada uma vez.
    • Se uma janela for renderizada lentamente (mais de 5 segundos), é provável que os usuários executem outra tarefa enquanto esperam. Ter o foco neste ponto seria um aborrecimento, especialmente se feito mais de uma vez.
  • Janelas que não são exibidas ou exibidas imediatamente por uma ação iniciada pelo sistema não devem ter o foco de entrada. Em vez disso, exiba na parte superior sem foco e permita que os usuários os ativem quando estiverem prontos.
    • Exceção: Gerenciador de Credenciais.

Persistência

  • Quando uma janela for exibida novamente, considere exibi-la no mesmo estado que a última acessada. Ao fechar, salve o monitor usado, o tamanho da janela, o local e o estado (maximizado versus restauração). Ao exibir novamente, restaure o tamanho, o local e o estado da janela salva usando o monitor apropriado. Além disso, considere fazer com que esses atributos persistam entre instâncias do programa por usuário. Exceções:
    • Não salve ou faça com que esses atributos persistam para janelas quando seu uso for, de modo que os usuários sejam muito mais propensos a querer começar completamente de novo.
    • Para programas que provavelmente serão usados em computadores Tecnologia Windows Tablet and Touch, salve dois estados de janelas para modos paisagem e retrato. Para obter mais informações, consulte Designing for Varying Display Sizes.
  • Se a configuração atual do monitor impedir a exibição de uma janela usando seu último estado:
    • Tente exibir a janela usando seu último monitor.
    • Se a janela for maior que o monitor, redimensione a janela conforme necessário.
    • Mova o local em direção ao canto superior esquerdo para caber dentro do monitor conforme necessário.
    • Se as etapas acima não resolverem o problema, reverter às diretrizes de posicionamento de janela padrão. Considere restaurar o tamanho anterior, se possível.