Изменить значок корневой папки решения в настройках навигации - PullRequest
0 голосов
/ 30 мая 2018

Как изменить значок решения, которое вы только что создали? Третьим пунктом ниже является решение, которое является надстройкой. А вышеупомянутыми тремя пунктами выше являются его элементы.

Вот некоторая часть кода

if (firstRun == true)
                {
                    solutionRoot =
                        rootStoreFolder.Folders.Add("Solution Demo",
                        Outlook.OlDefaultFolders.olFolderInbox)
                        as Outlook.Folder;
                    solutionCalendar = solutionRoot.Folders.Add(
                        solCal,
                        Outlook.OlDefaultFolders.olFolderCalendar)
                        as Outlook.Folder;
                    solutionContacts = solutionRoot.Folders.Add(
                        "Solution Contacts",
                        Outlook.OlDefaultFolders.olFolderContacts)
                        as Outlook.Folder;
                    solutionTasks = solutionRoot.Folders.Add(
                        "Solution Tasks",
                        Outlook.OlDefaultFolders.olFolderTasks)
                        as Outlook.Folder;
                }
                else
                {
                    solutionRoot =
                        rootStoreFolder.Folders["Solution Demo"]
                        as Outlook.Folder;
                    solutionCalendar = solutionRoot.Folders[
                        "Solution Calendar"]
                        as Outlook.Folder;
                    solutionContacts = solutionRoot.Folders[
                        "Solution Contacts"]
                        as Outlook.Folder;
                    solutionTasks = solutionRoot.Folders[
                        "Solution Tasks"]
                        as Outlook.Folder;
                }

1 Ответ

0 голосов
/ 30 мая 2018

Вам необходимо использовать метод SetCustomIcon класса Folder.

Максимальный размер ресурса значка или растрового изображения может быть 32x32.Также поддерживаются значки 16x16 или 24x24, и Microsoft Outlook может увеличить значок 16x16, если Outlook работает в режиме высокой точки на дюйм (DPI).Значки других размеров заставляют SetCustomIcon возвращать ошибку.

Вы можете вызывать SetCustomIcon только из кода, который выполняется внутри Outlook как Outlook.Объект IPictureDisp нельзя маршалировать через границы процесса.Если вы попытаетесь вызвать SetCustomIcon из внепроцессного кода, произойдет исключение.

Значок пользовательской папки, предоставляемый этим методом, не сохраняется после сеанса Outlook.Поэтому надстройки должны устанавливать значок пользовательской папки при каждой загрузке Outlook.Пользовательский значок папки не отображается в других клиентах Exchange, таких как Outlook Web Access, а также в Outlook, работающем на устройстве Windows Mobile.

Подробнее о модуле решений можно прочитать в ПрограммированиеМодуль решений Outlook 2010 статья.

...