Extensões da barra de tarefas
A partir do Windows 7, a barra de tarefas foi ampliada significativamente sob o princípio orientador de levar os usuários para onde eles estão indo o mais rápido e eficiente possível. Para esse fim, as janelas, arquivos e comandos do aplicativo que o usuário precisa realizar agora estão centralizados em um único botão da barra de tarefas que consolida fontes de informações e controles anteriormente dispersos. Um usuário agora pode encontrar tarefas comuns, arquivos recentes e frequentes, alertas, notificações de progresso e miniaturas de documentos ou guias individuais em um só lugar.
- Lançamento e comutação unificados
- Listas de Atalhos
- destinos
- Tarefas
- Personalizando listas de atalhos
- barras de ferramentas de miniaturas
- sobreposições de ícones
- Barras de progresso
- Deskbands
- Área de Notificação
- Miniaturas
- Tópicos relacionados
Inicialização e comutação 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 iniciador que o Início Rápido normalmente continha agora estão fixados na própria barra de tarefas, misturados com botões para aplicativos em execução no momento. Quando um usuário inicia um aplicativo a partir de um atalho do iniciador fixo, 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 reverte para o ícone. No entanto, tanto o atalho do iniciador 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.
da barra de tarefas do Windows 7
Um pequeno conjunto de aplicativos é fixado por padrão para novas instalações. Além destes, apenas 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 mudar para a área de trabalho.
Enquanto o aplicativo está em execução, seu botão da 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 freqüência específicos para o aplicativo.
- Miniaturas: comutação de janelas, incluindo alvos de comutação para separadores e documentos individuais.
- Thumbnail Toolbars: controle básico do aplicativo a partir da própria miniatura.
- Barras de progresso e sobreposições de ícones: notificações de status.
O botão da barra de tarefas pode representar um iniciador, uma única janela de aplicativo ou um grupo. Um identificador conhecido como ID de Modelo de Usuário de Aplicativo (AppUserModelID) é atribuído a cada grupo. Um AppUserModelID pode ser especificado para substituir o agrupamento padrão da barra de tarefas, que permite que as janelas se tornem membros do mesmo grupo quando de outra forma não seriam vistas como tal. Cada membro de um grupo recebe uma visualização separada no submenu de miniaturas que é mostrado quando o mouse passa 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, os novos aplicativos não devem pedir para adicionar um ícone ao Início Rápido durante a instalação.
Para obter mais informações, consulte Application User Model IDs (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 jogo pode querer chegar a um jogo salvo ou iniciar como um personagem específico, em vez de reiniciar um jogo desde o início. Para que os usuários cheguem de forma mais eficiente ao seu objetivo final, uma lista de destinos e tarefas comuns de associadas a um aplicativo é anexada ao botão da barra de tarefas desse aplicativo (bem como à entrada equivalente menu Iniciar). Esta é a Lista de Atalhos do aplicativo. A Lista de Atalhos está disponível se o botão da barra de tarefas estiver em um estado inicializador (o aplicativo não está em execução) ou se representar 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 fixos, 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 do aplicativo (para iniciar mais instâncias do aplicativo), uma opção para fixar ou desafixar o aplicativo da barra de tarefas e um comando Fechar para qualquer janela aberta.
Destinos
As categorias recentes e frequentes são consideradas como contendo destinos. Um destino, geralmente um arquivo, documento ou URL, é algo que pode ser editado, navegado, visualizado e assim por diante. Pense em um destino como uma coisa e não como 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 freqüência, mas são específicas de 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 que recebem seus itens recentes mostrados na lista de destino sem qualquer 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 ter esses itens centralizados em uma lista de destino, ele leva os usuários aonde eles querem ir muito mais rápido, que é o objetivo.
Como os itens aparecem na categoria recente de uma lista de destino (ou na categoria frequente ou em 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 ou ela pode fixar esse item na lista, que adiciona o item à categoria Fixado. Quando um usuário está trabalhando ativamente com um destino, ele ou ela quer que ele seja facilmente à mão e, portanto, fixá-lo na lista de destinos do aplicativo. Depois que o trabalho do usuário é feito, ele ou ela simplesmente desfixa o item. Esse controle de usuário mantém a lista organizada e relevante.
Uma lista de destinos pode ser considerada como uma versão específica do aplicativo do menu Iniciar . Uma lista de destinos 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. Enquanto um destino é uma coisa, uma tarefa é uma ação e, neste 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 funcionalidade específica que pode ser acionada por um aplicativo. Mais uma vez, a ideia é centralizar o máximo de informações relacionadas a um aplicativo que for 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, na medida em que o aplicativo não precisa estar em execução para que funcionem. Eles também devem ser as ações estatisticamente mais comuns que um usuário normal executaria em um aplicativo, como compor uma mensagem de e-mail ou abrir o calendário em um programa de email, criar um novo documento em um processador de texto, iniciar um aplicativo em um determinado modo ou iniciar um de seus subcomandos. Um aplicativo não deve sobrecarregar o menu com recursos avançados que os usuários padrão não precisarão ou ações únicas, como o registro. Não use tarefas para itens promocionais, como upgrades ou ofertas especiais.
Recomenda-se vivamente que a lista de tarefas seja estática. Deve manter-se inalterada, independentemente do estado ou do estatuto do pedido. 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 mude.
APIs
Personalizando listas de atalhos
Um aplicativo pode definir suas próprias categorias e adicioná-las além ou no lugar do padrão recentes e categorias de 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 Atalhos 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 baseado no histórico do usuário, ações ou ambos, mas por meio de uma categoria personalizada um aplicativo pode determinar o que deseja rastrear e o que deseja ignorar, talvez com base em uma opção de aplicativo. Por exemplo, um programa de áudio pode optar por incluir apenas álbuns reproduzidos recentemente e ignorar faixas individuais reproduzidas recentemente.
Se um usuário removeu um item da lista, que é sempre uma opção do usuário, o aplicativo deve honrar isso. O pedido deve igualmente certificar-se de que os elementos da lista são válidos ou que não são válidos se tiverem sido suprimidos. 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
- ICustomDestinationList
- IApplicationDestinos
- IApplicationDocumentLists
Barras de ferramentas de miniaturas
Para fornecer acesso aos comandos principais 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 incorporado na visualização de miniaturas dessa janela. Por exemplo, o Windows Media Player pode oferecer controles de transporte de mídia padrão, como reproduzir, pausar, silenciar 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 cobre nenhuma parte dela.
Esta barra de ferramentas é simplesmente o controle comum da barra de ferramentas padrão familiar. Tem um máximo de sete botões. O 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, ativar, desativar ou ocultar botões da barra de ferramentas de miniaturas, conforme exigido por seu estado atual.
Como há espaço limitado para exibir miniaturas e um número variável de miniaturas para exibir, 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 tenham menos probabilidade de serem descartados devido a problemas de espaço.
Observação
Quando um aplicativo exibe uma janela, seu botão da barra de tarefas é criado pelo sistema. Quando o botão está no lugar, a barra de tarefas envia uma mensagem TaskbarButtonCreated para a janela. Seu valor é calculado chamando RegisterWindowMessage(L("TaskbarButtonCreated")). Essa mensagem deve ser recebida pelo seu aplicativo antes que ele chame qualquer ITaskbarList3 método.
API
- ITaskbarList3::ThumbBarAddButtons
- ITaskbarList3::ThumbBarSetImageList
- ITaskbarList3::ThumbBarUpdateButtons
- POLEGAR
Sobreposições de ícones
Um aplicativo pode comunicar certas notificações e status para o usuário através de seu 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, exibidas 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 ícones servem como uma notificação contextual de status e destinam-se a negar a necessidade de um ícone de status de área de notificação separado para comunicar essas informações ao usuário. Por exemplo, o novo status de email no Microsoft Outlook, atualmente mostrado na área de notificação, agora pode ser indicado através 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 notificações ou status importantes e de longa data, como status da rede, status do mensageiro ou novo e-mail. O usuário não deve ser presenteado com sobreposições ou animações em constante mudança.
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 e não por janela. As solicitações de ícones de sobreposição podem ser recebidas de janelas individuais em um grupo de barra de tarefas, mas não fazem fila. A última sobreposição recebida é a sobreposição mostrada.
APIs
Barras de progresso
Um botão da barra de tarefas pode ser usado para exibir uma barra de progresso. Isso permite que uma janela forneça informações de progresso para o usuário sem que o usuário tenha que alternar para a própria janela. O usuário pode permanecer produtivo em outro aplicativo enquanto vê rapidamente o progresso de uma ou mais operações que ocorrem em outras janelas. Pretende-se que uma barra de progresso em um botão da barra de tarefas reflita um indicador de progresso mais detalhado na própria janela. Esse recurso pode ser usado para rastrear cópias de arquivos, downloads, instalações, gravação de mídia ou qualquer operação que leve um período de tempo. Este recurso não se destina ao uso 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 conhecido controle da Barra de Progresso. Ele pode exibir o progresso determinado com base em uma porcentagem concluída da operação ou um progresso indeterminado no estilo letreiro para indicar que a operação está em andamento sem qualquer previsão de tempo restante. Ele também pode mostrar que a operação está pausada ou encontrou um erro e requer a intervenção do usuário.
APIs
Bandas de secretária
Em versões do Windows anteriores ao Windows 7, algo semelhante à funcionalidade da barra de ferramentas de miniaturas podia ser alcançado através de uma banda de secretária — uma barra de ferramentas alojada na barra de tarefas. Por exemplo, o Windows Media Player pode 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 bandas de mesa ainda podem ser implementadas e as barras de ferramentas de miniaturas não se destinam a substituí-las todas. Nem todos os aplicativos se prestam a uma barra de ferramentas de miniaturas, 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 seu ciclo de desenvolvimento. No entanto, esteja ciente de que as deskbands devem suportar o Windows Aero com translucidez ("glass") ativada e o IDeskBand2 interface.
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á-los. Uma sobreposição de ícones em um botão da barra de tarefas, portanto, torna-se uma escolha 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 switch. Um aplicativo pode definir seus filhos (como janelas filhas 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 que desejam em vez de alternar para o aplicativo e, em seguida, alternar para o destino. Por exemplo, aplicativos de interface de vários documentos (MDI)/interface de documento com guias (TDI) podem ter cada documento ou guia exibido como uma miniatura separada e alternar o destino quando o mouse passa sobre o botão da barra de tarefas de um grupo.
Observação
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 de miniaturas para janelas são normalmente automáticas, mas nos casos em que o resultado não é o ideal, a miniatura pode ser especificada explicitamente. Por padrão, apenas as janelas de nível superior têm uma miniatura gerada automaticamente para elas, e as miniaturas para janelas filhas aparecem como uma representação genérica. Isso pode resultar em uma experiência menos do que ideal (e até confusa) para o usuário final. Uma miniatura de destino de switch 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 para usar como miniatura. Isso pode ser útil quando um aplicativo sabe que seus documentos ou guias aparecerão semelhantes quando visualizados em miniatura. O aplicativo pode então 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 visão da janela completa atrás dela para que o usuário possa olhar rapidamente através delas também.
Se houver mais miniaturas do que as 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 ao Fixar no Menu Iniciar. Consulte Registrando manipuladores de extensão do shell para obter mais informações.
Tópicos relacionados