> Tech > Personnaliser la barre des tâches sous Windows 7

Personnaliser la barre des tâches sous Windows 7

Tech - Par Marian Luparu - Publié le 03 octobre 2011
email

La nouvelle barre des tâches Windows comporte un certain nombre d’autres possibilités fournissant à l’utilisateur des indices visuels de l’état de l’application ou des actions de menu contextuel rapides.

La première section de l’article mentionnait deux nouvelles possibilités de la barre des tâches, à savoir les vues miniatures de documents et les listes de raccourcis, et expliquait comment les utiliser immédiatement par une simple recompilation de votre code avec MFC 10.

Ce dossier est issu de notre publication IT Pro Magazine (10/10). Pour consulter les schémas et illustrations associés, rendez-vous dans le club abonnés.


Au lieu d’afficher uniquement les derniers documents ouverts, ce qui est le comportement par défaut de MFC pour les listes de raccourcis, vous pouvez personnaliser le contenu de ces listes au moyen de la nouvelle classe MFC CJumpList. Cette dernière propose des méthodes pour l’ajout de nouvelles catégories d’éléments, la gestion des éléments listés dans ces catégories et l’ajout de tâches spécifiques pertinentes pour votre application. Par exemple, le code suivant permet de rendre visible la catégorie par défaut Recent, crée une nouvelle catégorie intitulée Favorites, ajoute le document actuellement sélectionné à celle-ci et associe trois tâches qui vont lancer le navigateur avec des URL distinctes :

CJumpList jumpList;

jumpList.InitializeList();
jumpList.AddKnownCategory (KNOWNDESTCATEGORY::KDC_RECENT);
jumpList.AddDestination(L"Favorites",
m_pDocument->GetPathName());

jumpList.AddTask(strPathToBrowser,
L"http://blogs.msdn.com/vcblog/",
L"Visual C++ Blog", strPathToBrowser, 0);
jumpList.AddTask(strPathToBrowser,
L"http://msdn.com/visualc",
L"C++ Developer Center", strPathToBrowser, 0);
jumpList.AddTaskSeparator();
jumpList.AddTask(strPathToBrowser,
L"http://msdn.com/windows",
L"Windows 7 Developer Center", strPathToBrowser, 0);

jumpList.CommitList();

Dans cet exemple, même une fois l’application fermée, la liste de raccourcis personnalisée restera accessible aux utilisateurs via un clic sur le bouton droit de la souris au niveau du bouton de barre des tâches attaché. La barre des tâches Windows prend soin de stocker les informations de liste de raccourcis pour chaque application en cours ou attachée (cf. la figure 3).

Si la fenêtre principale de votre application exécute une tâche longue ne nécessitant pas d’interaction de l’utilisateur, elle peut informer ce dernier de son avancement directement en affichant une barre de progression dans la barre des tâches. Pour ce faire, il suffit de définir la plage et la position en appelant CFrameWnd::Set ProgressBarRange et CFrameWnd::SetProgressBarPosition. Vous pouvez aussi modifier l’état de la barre de progression. Par exemple, si vous ne pouvez pas déterminer la durée de la tâche, il est possible de définir l’état de la barre de progression sur « Indéterminé ». Si l’utilisateur place la tâche exécutée en pause ou si une erreur se produit, il est possible de modifier l’état respectivement sur « en pause » sur « erreur », comme le montre l’exemple suivant :

CMainFrame* mainFrm =
dynamic_cast(AfxGetApp()
->GetMainWnd());
if(mainFrm != nullptr)
{
mainFrm->SetProgressBarRange(0, 100);
mainFrm->SetProgressBarPosition(40);

mainFrm->SetProgressBarState(TBPF_ERROR);
}

Pour que l’application communique un état plus personnalisé à l’utilisateur, tirez parti des possibilités de la barre des tâches Windows pour afficher des icônes superposées par-dessus le bouton de barre des tâches d’application. Pour cela, servez-vous de l’appel de méthode

CFrameWnd::SetTaskbarOverlayIcon :

CMainFrame* mainFrm =
dynamic_cast(AfxGetApp()
->GetMainWnd());
if(mainFrm != nullptr)
{
if(NewDocumentsPendingReview())

mainFrm->SetTaskbarOverlayIcon(IDR_FILEICON,
L"New documents available");
else
mainFrm->SetTaskbarOverlayIcon((HICON)nullptr, L"");
// clears the overlay icon
}
 

Téléchargez gratuitement cette ressource

TOP 5 Sécurité du Télétravail

TOP 5 Sécurité du Télétravail

Avec le recours généralisé au télétravail, les entreprises ont ouvert davantage leur SI. En dépit des précautions prises, elles ont mécaniquement élargi leur surface d’exposition aux risques. Découvrez 5 axes à ne pas négliger dans ce Top 5 Sécurité du Télétravail.

Tech - Par Marian Luparu - Publié le 03 octobre 2011