2009-08-28 8 views
0

Visual Studio 2008 Pro for Outlook 2003でVB.NETを使用してCOMアドインを開発中で、カスタムツールバーボタンに画像を割り当てることができません。Outlookツールバーのボタンにアルファチャンネルを保持する

一言で言えば、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(私は初心者です。複数のリンクを投稿する!ダムルールBTW)は、一度に1ピクセルずつIPictureDispを修正し、透明度を再構築する方法を示していますが、VB.NETで同様の機能を見つけることはできません...

私は、これに関して。ありがとう。

答えて

0

この記事の最後を読むと、コマンドバーAPIが画像上のアルファチャンネルをサポートしていないというコメントの1つが書かれています。もちろん、ツールバーの背景と一致するビットマップにイメージを描画し、その合成イメージをツールバーボタンに割り当てると、ツールバーイメージが透明に見えるようになります。

+0

@Joe返信ありがとうございます...はい、私はそれを見ましたが、他のアドインには透明なボタンがあるので、それを行う方法(VB.NETにないかもしれない)がなければならないことも知っています。 VBでIPictureDispオブジェクト内のピクセルを操作するアイデアはありますか? –

+0

c#サンプルをとり、vb.netから参照できるライブラリに入れてみませんか? –

関連する問題