Я разрабатываю надстройку COM с использованием VB.NET в Visual Studio 2008 Pro для Outlook 2003, и у меня возникают проблемы с назначением изображений для пользовательских кнопок панели инструментов.
Короче говоря, мне нужно преобразовать тип Icon в тип stdole.IPictureDisp, чтобы я мог назначить своим кнопкам изображение.
Изображение отображается, но оно теряет альфа-канал, и фон перестает быть прозрачным. Я могу убедиться, что перед преобразованием в объект IPictureDisp свойство PixelFormat имеет значение Format32bppArgb (2498570). Я использую метод кодирования, предложенный здесь: http://msdn.microsoft.com/en-us/library/ms268747%28VS.80%29.aspx.
Для пользователей C # эта ссылка blogs.msdn.com/andreww/archive/2007/10/10/preserving-the-alpha-channel-when-converting-images.aspx (извините, я новичок и не могу оставлять сообщения несколько ссылок! (тупое правило, кстати) показывает, как изменить IPictureDisp по одному пикселю за раз и восстановить прозрачность, но я не могу найти аналогичные функции в VB.NET ...
Буду признателен за любые советы по этому поводу. Благодаря.