none
Icon から stdole.IPictureDisp を作成する RRS feed

回答

すべての返信

  • 次の URL の記事が参考になりそうに思いますが、いかがでしょうか。

     方法 : カスタム アイコンをツール バーおよびメニュー項目に追加する
     http://msdn.microsoft.com/ja-jp/library/ms268747.aspx
    2009年7月29日 14:34
  • ご助言ありがとうございます。
    確かに、ご指摘の資料の通りにすればIconからstdole.IPictureDisp を作成出来ました。
    しかし、問題が2点あります。
    1.アイコンの透明部分が紫色になってしまう。
    2.32×32のアイコンが16×16になってしまう。
    の2点です。
    と言うことで、このままでは実用にならないようです。
    2009年7月30日 2:26
  • Microsoft.VisualBasic.Compatibility.VB6.Support クラスの IconToIPicture メソッドを使えば良いんじゃないですかね。
    これなら直接 Icon オブジェクトを渡せますし。
    // 上記ページの「アセンブリ」に書かれている dll を参照に追加する必要があります。
    名前は IPicture ですが、IPictureDisp も実装しているようです。

    サイズが 16x16 になるのは、ImageList の ImageSize が既定値の 16x16 だったためでしょう。
    2009年7月30日 4:40
  • ありがとうございます。
    IconToIPicture メソッドを使えば何の問題もなく出来てしまいました。
    2009年7月30日 9:13
  • こんにちは。フォーラムオペレーターの高橋春樹です。

    totojoさん、Hongliangさん、いつもお世話になってます。

    兼田さん、こんにちは。
    MSDNフォーラムのご利用ありがとうございます。

    問題が解決してよかったです(^-^)
    今回totojoさんとHongliangさんからの投稿が、問題解決に繋がったようなので、
    totojoさんとHongliangさんの投稿に、回答マークを付けさせてもらいました。

    今後ともMSDNフォーラムを宜しくお願いします。


    マイクロソフト株式会社 フォーラム オペレータ 高橋春樹
    2009年8月6日 8:19