Настройка значка наложения панели задач с программно созданным

Я нахожусь в процессе программного воссоздания значка наложения, чтобы отображать текст на значке панели задач. Я сделал это:

    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;

Источник изображения выглядит нормально, если я установлю «изображение» в качестве источника тестового изображения wpf, текст будет отображаться нормально. Но по какой-то причине он не отображается на значке панели задач. Ты знаешь почему?

Поэтому я попробовал несколько других вариантов, таких как официальные библиотеки поддержки панели задач. Это немного сбивает с толку, потому что их, по-видимому, два, но ни один из них не помог мне показать наложение значка:

Это не работает с этим официальным образцом приложения MainDemo и демонстрацией IMClient:

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

И я не могу запустить другую коллекцию образцов под названием Win7API Codepack sample из-за этой загадочной ошибки:

Функция TaskDialog должна загрузить версию 6 comctl32.dll, но в настоящее время в памяти загружена другая версия.

Любое предложение, что может быть не так?


person Blub    schedule 02.11.2010    source источник


Ответы (1)


Из раздела «Примечания» TaskbarItemInfo.Overlay:

Наложение не отображается, если пользователь настроил панель задач для отображения маленьких значков.

person Hans Passant    schedule 02.11.2010
comment
Спасибо, очень странное ограничение! И они действительно должны попытаться упростить просмотр документации. В разделе примечаний совершенно ненужные фразы типа: Вы можете добавить изображение к значку программы в кнопку на панели задач, чтобы сообщать статус приложения пользователю. смешаны с вышеуказанной информацией, как если бы они были одинаково важны. - person Blub; 02.11.2010
comment
Извините, я думал, что пометка этого ответа уже дает вам кредит. Конечно, это было полезно, я дал вам голос. Думаю, мне следует более внимательно читать статьи msdn. Поскольку я не знал, что именно вызвало проблему, я просто просмотрел все связанные статьи msdn, затем спросил Google, а затем искал в SO. - person Blub; 03.11.2010