2010-11-02 22 views
2

Je suis en train de recréer par programme une icône de superposition afin de présenter le texte sur l'icône de la barre des tâches. Je l'ai fait:Définition de l'icône de superposition de la barre des tâches avec création par programme

GlyphRunDrawing gDrawing = new GlyphRunDrawing(Brushes.Black, 
              iconOverlayText.ToGlyphRun()); 

    Window.TaskbarItemInfo = 
     new System.Windows.Shell.TaskbarItemInfo(); 
    DrawingImage image = new DrawingImage(); 
    image.Drawing = gDrawing; 

    Window.TaskbarItemInfo.Overlay = image; 

La source d'image semble bien, si je mets « image » comme source d'une image WPF test, le texte affiche très bien. Mais pour une raison quelconque, il ne s'affiche pas sur l'icône de la barre des tâches. Est-ce que tu sais pourquoi?

J'ai donc essayé quelques autres options, comme les bibliothèques officielles de support de la barre des tâches. Il est un peu déroutant, car il y en a deux en apparence, mais ni travaillé pour afficher une icône de recouvrement pour moi:

Il travail ne marche pas sur cet exemple d'application de l'échantillon officiel MainDemo et IMClient démo:

http://code.msdn.microsoft.com/Windows7Taskbar

Et Je ne peux pas commencer l'autre collection d'échantillons appelé échantillon Win7API CodePack, à cause de cette erreur cryptique:

TaskDialog feature needs to load version 6 of comctl32.dll but a different version is current loaded in memory.

Toute suggestion de ce qui pourrait se tromper?

Répondre

7

Dans la section Remarques de TaskbarItemInfo.Overlay:

The overlay is not displayed if the user sets the taskbar to show small icons

+0

Merci, restriction très étrange! Et ils devraient vraiment essayer de rendre la documentation plus facile à parcourir. Dans la section des remarques sont des phrases complètement inutiles comme: "Vous pouvez ajouter une image à l'icône du programme dans le bouton de la barre des tâches pour communiquer le statut de l'application à l'utilisateur." Entremêlé avec les informations ci-dessus comme si elles étaient également importantes. – Blub

+0

Je suis désolé, je pensais que le marquage de cette réponse vous donne déjà un crédit. Bien sûr, c'était utile, je vous ai donné une sursis. Je suppose que je devrais lire les articles msdn plus attentivement. Parce que je ne savais pas exactement ce qui a causé le problème, j'ai simplement parcouru tous les articles msdn connexes, puis demandé à Google, puis cherché sur SO. – Blub