Extensões da barra de tarefas
A partir do Windows 7, a barra de tarefas foi estendida significativamente sob o princípio norteador de levar os usuários para onde eles estão indo o mais rápido e eficientemente possível. Para isso, as janelas, os arquivos e os comandos do aplicativo que o usuário precisa realizar agora são centralizados em um único botão de barra de tarefas que consolida fontes e controles de informações dispersos anteriormente. Um usuário agora pode encontrar tarefas comuns, arquivos recentes e frequentes, alertas, notificações de progresso e miniaturas para documentos ou guias individuais em um só lugar.
- Inicialização e alternância unificadas
- Listas de Atalhos
- Destinos
- Tarefas
- Personalizando listas de atalhos
- Barras de ferramentas de miniatura
- Sobreposições de ícone
- Barras de progresso
- Faixas de mesa
- Área de notificação
- Miniaturas
- Tópicos relacionados
Inicialização e alternância unificadas
A partir da barra de tarefas do Windows 7, o Início Rápido não é mais uma barra de ferramentas separada. Os atalhos do inicializador que o Início Rápido normalmente continha agora estão fixados na própria barra de tarefas, misturada com botões para aplicativos em execução no momento. Quando um usuário inicia um aplicativo de um atalho de inicializador fixado, o ícone se transforma no botão da barra de tarefas do aplicativo enquanto o aplicativo estiver em execução. Quando o usuário fecha o aplicativo, o botão é revertido para o ícone. No entanto, o atalho do inicializador e o botão para o aplicativo em execução são apenas formas diferentes do botão da barra de tarefas do Windows 7.
Um pequeno conjunto de aplicativos é fixado por padrão para novas instalações. Além desses, somente o usuário pode fixar outros aplicativos; a fixação programática por um aplicativo não é permitida.
O recurso Mostrar Área de Trabalho do Início Rápido agora está localizado na extrema direita da barra de tarefas. Passar o mouse sobre essa área faz com que todas as janelas ativas se tornem transparentes, mostrando a área de trabalho. Clicar na área executa a ação familiar de minimizar todas as janelas e alternar para a área de trabalho.
Enquanto o aplicativo está em execução, seu botão de barra de tarefas se torna o único local para acessar todos os recursos a seguir, cada um discutido em detalhes abaixo.
- Tarefas: comandos comuns do aplicativo, presentes mesmo quando o aplicativo não está em execução.
- Destinos: arquivos acessados recentemente e com frequência específicos do aplicativo.
- Miniaturas: alternância de janela, incluindo destinos de comutador para guias e documentos individuais.
- Barras de ferramentas de miniatura: controle de aplicativo básico da própria miniatura.
- Barras de Progresso e Sobreposições de Ícone: status notificações.
O botão da barra de tarefas pode representar um inicializador, uma única janela de aplicativo ou um grupo. Um identificador conhecido como ID do Modelo de Usuário do Aplicativo (AppUserModelID) é atribuído a cada grupo. Um AppUserModelID pode ser especificado para substituir o agrupamento padrão da barra de tarefas, o que permite que as janelas se tornem membros do mesmo grupo quando elas podem não ser vistas como tal. Cada membro de um grupo recebe uma visualização separada no submenu de miniatura que é mostrado quando o mouse passa o mouse sobre o botão da barra de tarefas do grupo. Observe que o agrupamento em si permanece opcional.
A partir do Windows 7, os botões da barra de tarefas agora podem ser reorganizados pelo usuário por meio de operações de arrastar e soltar.
Observação
A pasta Início Rápido (FOLDERID_QuickLaunch) ainda está disponível para compatibilidade com versões anteriores, embora não haja mais uma interface do usuário de Início Rápido. No entanto, novos aplicativos não devem solicitar a adição de um ícone ao Início Rápido durante a instalação.
Para obter mais informações, consulte IDs do modelo de usuário do aplicativo (AppUserModelIDs).
Listas de Atalhos
Um usuário normalmente inicia um programa com a intenção de acessar um documento ou executar tarefas dentro do programa. O usuário de um programa de jogos pode querer chegar a um jogo salvo ou iniciar como um caractere específico em vez de reiniciar um jogo desde o início. Para levar os usuários com mais eficiência à meta final, uma lista de destinos e tarefascomuns associadas a um aplicativo é anexada ao botão da barra de tarefas desse aplicativo (bem como à entrada de menu Iniciar equivalente). Esta é a Lista de Atalhos do aplicativo. A Lista de Atalhos está disponível se o botão da barra de tarefas está em um estado inicializador (o aplicativo não está em execução) ou se representa uma ou mais janelas. Clicar com o botão direito do mouse no botão da barra de tarefas mostra a Lista de Atalhos do aplicativo, conforme mostrado na ilustração a seguir.
Por padrão, uma Lista de Atalhos padrão contém duas categorias: itens recentes e itens fixados, embora como apenas categorias com conteúdo são mostradas na interface do usuário, nenhuma dessas categorias é mostrada na primeira inicialização. Sempre presentes estão um ícone de inicialização de aplicativo (para iniciar mais instâncias do aplicativo), uma opção para fixar ou desafixar o aplicativo na barra de tarefas e um comando Fechar para qualquer janela aberta.
Destinos
As categorias Recentes e Frequentes são consideradas para conter destinos. Um destino, geralmente um arquivo, documento ou URL, é algo que pode ser editado, navegado, exibido e assim por diante. Pense em um destino como uma coisa em vez de uma ação. Normalmente, um destino é um item no namespace Shell, representado por um IShellItem ou IShellLink. Essas partes da lista de destino são análogas à lista de documentos usados recentemente do menu Iniciar (não mais mostrada por padrão) e à lista de aplicativos usados com frequência, mas são específicas para um aplicativo e, portanto, mais precisas e úteis para o usuário. Os resultados usados na lista de destino são calculados por meio de chamadas para SHAddToRecentDocs. Observe que quando o usuário abre um arquivo do Windows Explorer ou usa a caixa de diálogo de arquivo comum para abrir, salvar ou criar um arquivo, SHAddToRecentDocs é chamado automaticamente, o que resulta em muitos aplicativos obtendo seus itens recentes mostrados na lista de destino sem nenhuma ação de sua parte.
Iniciar um destino é muito parecido com iniciar um item usando o comando Abrir com . O aplicativo é iniciado com esse destino carregado e pronto para uso. Os itens na lista de destino também podem ser arrastados da lista para um destino de soltar, como uma mensagem de email. Ao centralizar esses itens em uma lista de destino, ele leva os usuários para onde eles querem ir muito mais rápido, que é a meta.
Como os itens aparecem na categoria Recente de uma lista de destino (ou na categoria Frequente ou uma categoria personalizada , conforme discutido em uma seção posterior), um usuário pode querer garantir que o item esteja sempre na lista para acesso rápido. Para fazer isso, ele pode fixar esse item na lista, o que adiciona o item à categoria Fixado . Quando um usuário está trabalhando ativamente com um destino, ele quer isso facilmente em mãos e, portanto, o fixaria na lista de destino do aplicativo. Após a conclusão do trabalho do usuário, ele simplesmente desafixa o item. Esse controle de usuário mantém a lista desordeira e relevante.
Uma lista de destino pode ser considerada como uma versão específica do aplicativo do menu Iniciar . Uma lista de destino não é um menu de atalho. Cada item em uma lista de destino pode ser clicado com o botão direito do mouse para seu próprio menu de atalho.
APIs
- IApplicationDestinations::RemoveDestination
- IApplicationDestinations::RemoveAllDestinations
- IApplicationDocumentLists::GetList
- SHAddToRecentDocs
Tarefas
Outra parte interna de uma Lista de Atalhos é a categoria Tarefas . Embora um destino seja algo, uma tarefa é uma ação e, nesse caso, é uma ação específica do aplicativo. Dito de outra forma, um destino é um substantivo e uma tarefa é um verbo. Normalmente, as tarefas são itens IShellLink com argumentos de linha de comando que indicam uma funcionalidade específica que pode ser disparada por um aplicativo. Novamente, a ideia é centralizar o máximo de informações relacionadas a um aplicativo, como é prático.
Os aplicativos definem tarefas com base nos recursos do programa e nas principais coisas que um usuário deve fazer com eles. As tarefas devem ser livres de contexto, pois o aplicativo não precisa estar em execução para que funcionem. Elas também devem ser as ações estatisticamente mais comuns que um usuário normal executaria em um aplicativo, como redigir uma mensagem de email ou abrir o calendário em um programa de email, criar um novo documento em um processador de palavras, iniciar um aplicativo em um determinado modo ou iniciar um de seus subcomandos. Um aplicativo não deve confundir o menu com recursos avançados que os usuários padrão não precisarão ou ações a uma única vez, como registro. Não use tarefas para itens promocionais, como atualizações ou ofertas especiais.
É altamente recomendável que a lista de tarefas seja estática. Ele deve permanecer o mesmo, independentemente do estado ou status do aplicativo. Embora seja possível variar a lista dinamicamente, você deve considerar que isso pode confundir o usuário que não espera que essa parte da lista de destino seja alterada.
APIs
Personalizando listas de atalhos
Um aplicativo pode definir suas próprias categorias e adicioná-las além ou no lugar das categorias padrão Recentes e Frequentes em uma Lista de Atalhos. O aplicativo pode controlar seus próprios destinos nessas categorias personalizadas com base na arquitetura do aplicativo e no uso pretendido. A captura de tela a seguir mostra uma Lista de Saltos Personalizada com uma categoria Histórico.
Se um aplicativo decidir fornecer uma categoria personalizada, esse aplicativo assumirá a responsabilidade de preenchê-la. O conteúdo da categoria ainda deve ser específico do usuário e com base no histórico de usuários, ações ou ambos, mas por meio de uma categoria personalizada um aplicativo pode determinar o que ele deseja rastrear e o que ele deseja ignorar, talvez com base em uma opção de aplicativo. Por exemplo, um programa de áudio pode optar por incluir apenas álbuns tocados recentemente e ignorar faixas individuais recentemente tocadas.
Se um usuário tiver removido um item da lista, que é sempre uma opção de usuário, o aplicativo deverá respeitar isso. O aplicativo também deve garantir que os itens na lista sejam válidos ou que eles falhem normalmente se tiverem sido excluídos. Itens individuais ou todo o conteúdo da lista podem ser removidos programaticamente.
O número máximo de itens em uma lista de destino é determinado pelo sistema com base em vários fatores, como resolução de exibição e tamanho da fonte. Se não houver espaço suficiente para todos os itens em todas as categorias, eles serão truncados de baixo para cima.
APIs
Barras de ferramentas de miniatura
Para fornecer acesso aos comandos de chave de uma janela específica sem fazer o usuário restaurar ou ativar a janela do aplicativo, um controle de barra de ferramentas ativo pode ser inserido na visualização em miniatura dessa janela. Por exemplo, Reprodutor Multimídia do Windows pode oferecer controles de transporte de mídia padrão, como reproduzir, pausar, ativar mudo e parar. A interface do usuário exibe essa barra de ferramentas diretamente abaixo da miniatura, conforme mostrado na ilustração a seguir. Ela não abrange nenhuma parte dela.
Essa barra de ferramentas é simplesmente o controle comum da barra de ferramentas padrão familiar. Ele tem no máximo sete botões. A ID, a imagem, a dica de ferramenta e o estado de cada botão são definidos em uma estrutura, que é então passada para a barra de tarefas. O aplicativo pode mostrar, habilitar, desabilitar ou ocultar botões da barra de ferramentas de miniatura, conforme exigido pelo estado atual.
Como há espaço limitado para exibir miniaturas e um número variável de miniaturas a serem exibidas, os aplicativos não têm garantia de um determinado tamanho de barra de ferramentas. Se o espaço for restrito, os botões na barra de ferramentas serão truncados da direita para a esquerda. Portanto, ao projetar sua barra de ferramentas, você deve priorizar os comandos associados aos botões e garantir que os mais importantes venham primeiro e sejam menos propensos a serem descartados devido a problemas de espaço.
Observação
Quando um aplicativo exibe uma janela, seu botão de barra de tarefas é criado pelo sistema. Quando o botão está em vigor, a barra de tarefas envia uma mensagem TaskbarButtonCreated para a janela. Seu valor é calculado chamando RegisterWindowMessage(L("TaskbarButtonCreated")). Essa mensagem deve ser recebida pelo aplicativo antes de chamar qualquer método ITaskbarList3 .
API
- ITaskbarList3::ThumbBarAddButtons
- ITaskbarList3::ThumbBarSetImageList
- ITaskbarList3::ThumbBarUpdateButtons
- THUMBBUTTON
Sobreposições de ícone
Um aplicativo pode comunicar determinadas notificações e status ao usuário por meio do botão da barra de tarefas pela exibição de pequenas sobreposições no botão. Essas sobreposições são semelhantes ao tipo de sobreposição existente usado para atalhos ou notificações de segurança, exibidos no canto inferior direito do botão. Para exibir um ícone de sobreposição, a barra de tarefas deve estar no modo de ícone grande padrão, conforme mostrado na captura de tela a seguir.
As sobreposições de ícone servem como uma notificação contextual de status e se destinam a negar a necessidade de uma área de notificação separada status ícone para comunicar essas informações ao usuário. Por exemplo, o novo email status no Microsoft Outlook, atualmente mostrado na área de notificação, agora pode ser indicado por meio de uma sobreposição no botão da barra de tarefas. Novamente, você deve decidir durante o ciclo de desenvolvimento qual método é melhor para seu aplicativo. Os ícones de sobreposição destinam-se a fornecer status importantes e de longa data ou notificações, como status de rede, status de mensagens ou novos emails. O usuário não deve ser apresentado com sobreposições ou animações em constante alteração.
Como uma única sobreposição é sobreposta no botão da barra de tarefas e não nas miniaturas de janela individuais, esse é um recurso por grupo em vez de por janela. As solicitações de ícones de sobreposição podem ser recebidas de janelas individuais em um grupo de barras de tarefas, mas não fazem fila. A última sobreposição recebida é a sobreposição mostrada.
APIs
Barras de progresso
Um botão de barra de tarefas pode ser usado para exibir uma barra de progresso. Isso permite que uma janela forneça informações de progresso ao usuário sem que esse usuário precise alternar para a própria janela. O usuário pode se manter produtivo em outro aplicativo enquanto vê rapidamente o progresso de uma ou mais operações que ocorrem em outras janelas. A intenção é que uma barra de progresso em um botão de barra de tarefas reflita um indicador de progresso mais detalhado na própria janela. Esse recurso pode ser usado para acompanhar cópias de arquivo, downloads, instalações, queima de mídia ou qualquer operação que leve um período de tempo. Esse recurso não se destina a ser usado com ações normalmente periféricas, como o carregamento de uma página da Web ou a impressão de um documento. Esse tipo de progresso deve continuar a ser mostrado na barra de status de uma janela.
A barra de progresso do botão da barra de tarefas é uma experiência semelhante ao controle da Barra de Progresso familiar. Ele pode exibir o progresso determinante com base em uma porcentagem concluída da operação ou em um progresso indeterminado no estilo de letreiro para indicar que a operação está em andamento sem nenhuma previsão de tempo restante. Ele também pode mostrar que a operação está em pausa ou encontrou um erro e requer intervenção do usuário.
APIs
Faixas de mesa
Em versões do Windows anteriores ao Windows 7, algo semelhante à funcionalidade da barra de ferramentas em miniatura poderia ser obtido por meio de uma faixa de mesa— uma barra de ferramentas hospedada na barra de tarefas. Por exemplo, Reprodutor Multimídia do Windows poderia minimizar para a barra de tarefas como um conjunto de controles de transporte em vez de um botão padrão. No Windows 7, as faixas de mesa ainda podem ser implementadas e as barras de ferramentas em miniatura não se destinam a substituir todas elas. Nem todos os aplicativos se prestam a uma barra de ferramentas em miniatura e outra solução, como uma faixa de mesa ou uma tarefa em uma lista de destino, pode ser a resposta certa para seu aplicativo; você deve decidir qual solução funciona melhor para seu aplicativo como parte do ciclo de desenvolvimento. No entanto, lembre-se de que as faixas de mesa devem dar suporte ao Windows Aero com translucência ("glass") habilitada e a interface IDeskBand2 .
APIs
Área de notificação
Houve alterações na área de notificação que dão ao usuário muito mais controle sobre quais ícones aparecem na barra de tarefas. Todos os ícones de notificação agora estão ocultos por padrão e essa visibilidade não pode ser controlada programaticamente. Somente o usuário tem permissão para escolher quais ícones de notificação aparecem na barra de tarefas. Quando um balão de notificação é exibido, o ícone fica temporariamente visível, mas mesmo assim um usuário pode optar por silenciá-lo. Portanto, uma sobreposição de ícone em um botão de barra de tarefas se torna uma opção atraente quando você deseja que seu aplicativo comunique essas informações aos usuários.
Miniaturas
No Windows Vista, passar o mouse sobre o botão da barra de tarefas de um aplicativo exibe uma miniatura que representa a janela em execução. Se a barra de tarefas tiver recolhido as janelas do aplicativo, a miniatura representará isso aparecendo como uma pilha, mas apenas a janela ativa será mostrada na própria miniatura.
No Windows 7, cada membro de um grupo é mostrado como uma miniatura separada e agora também é um destino de comutador. Um aplicativo pode definir seus filhos (como janelas filho verdadeiras, documentos individuais ou guias) e fornecer miniaturas correspondentes para cada uma dessas janelas, mesmo quando elas normalmente não apareceriam na barra de tarefas. Isso permite que os usuários alternem diretamente para a exibição do aplicativo desejado em vez de alternar para o aplicativo e, em seguida, alternar para o destino. Por exemplo, aplicativos de TDI (interface de vários documentos)/TDI (interface de documento com guias) podem ter cada documento ou guia exibido como uma miniatura separada e alternar o destino quando o mouse passar o mouse sobre o botão da barra de tarefas de um grupo.
Observação
Assim como no Windows Vista, o Aero deve estar ativo para exibir miniaturas.
API
- ITaskbarList3::RegisterTab
- ITaskbarList3::SetTabActive
- ITaskbarList3::SetTabOrder
- ITaskbarList3::UnregisterTab
- ITaskbarList4::SetTabProperties
As representações em miniatura para janelas normalmente são automáticas, mas nos casos em que o resultado não é ideal, a miniatura pode ser especificada explicitamente. Por padrão, somente janelas de nível superior têm uma miniatura gerada automaticamente para elas e as miniaturas para janelas filho aparecem como uma representação genérica. Isso pode resultar em uma experiência menos que ideal (e até confusa) para o usuário final. Uma miniatura de destino de comutador específica para cada janela filho, por exemplo, fornece uma experiência de usuário muito melhor.
API
- DwmSetWindowAttribute
- DwmSetIconicThumbnail
- DwmSetIconicLivePreviewBitmap
- DwmInvalidateIconicBitmaps
- WM_DWMSENDICONICTHUMBNAIL
- WM_DWMSENDICONICLIVEPREVIEWBITMAP
Você pode selecionar uma área específica da janela a ser usada como miniatura. Isso pode ser útil quando um aplicativo sabe que seus documentos ou guias aparecerão semelhantes quando exibidos em tamanho de miniatura. Em seguida, o aplicativo pode optar por mostrar apenas a parte de sua área de cliente que o usuário pode usar para distinguir entre miniaturas. No entanto, passar o mouse sobre qualquer miniatura traz uma exibição da janela completa atrás dela para que o usuário possa olhar rapidamente por ela também.
Se houver mais miniaturas do que podem ser exibidas, a visualização será revertida para a miniatura herdada ou um ícone padrão.
API
Para adicionar Pin à Barra de Tarefas ao menu de atalho de um item, que normalmente é necessário apenas para tipos de arquivo que incluem a entrada IsShortCut , é feito registrando o manipulador de menu de contexto apropriado. Isso também se aplica a Fixar no Menu Iniciar. Consulte Registrando manipuladores de extensão do shell para obter mais informações.
Tópicos relacionados