- PR -

メッセージボックスのアイコンについて

1
投稿者投稿内容
未記入
会議室デビュー日: 2007/04/19
投稿数: 2
投稿日時: 2007-04-19 18:49
いつもお世話になっております。

今回、カスタムメッセージボックスを作成することになりました。
そこで、通常のメッセージボックスに表示される
警告・インフォメーションなどのアイコンを表示させたいのですが
表示はされますが、汚く(背景がギザギザ)表示されています。

方法としては、
@フォームにPictureBoxを作成
AそのPictureBoxのImageにシステムアイコンクラスのToBitmapを設定
としています。

下記がそのコードです。

'Errorアイコン表示
Me.picIcon.Image = SystemIcons.Error.ToBitmap

環境は
WindowsXP
VisualStudio2003
VB.NET
で開発しています。

いろいろ検索して、その他の方法も試しましたが、うまくいきません。
どなたかよろしくお願いいたします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-04-19 19:02
引用:

未記入さんの書き込み (2007-04-19 18:49) より:
いつもお世話になっております。

今回、カスタムメッセージボックスを作成することになりました。
そこで、通常のメッセージボックスに表示される
警告?インフォメーションなどのアイコンを表示させたいのですが
表示はされますが、汚く(背景がギザギザ)表示されています。

方法としては、
@フォームにPictureBoxを作成
AそのPictureBoxのImageにシステムアイコンクラスのToBitmapを設定
としています。

下記がそのコードです。

'Errorアイコン表示
Me.picIcon.Image = SystemIcons.Error.ToBitmap

環境は
WindowsXP
VisualStudio2003
VB.NET
で開発しています。

いろいろ検索して、その他の方法も試しましたが、うまくいきません。
どなたかよろしくお願いいたします。

「いろいろ調べて」だけ書かれていて、具体的に何をしたか書かれていないと、何もしなかったと思われます。

イメージの実際の大きさを、picturebox に設定してみたら?
_________________
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-04-19 19:51
引用:

Jittaさんの書き込み (2007-04-19 19:02) より:

イメージの実際の大きさを、picturebox に設定してみたら?


いや、たぶん Stretch による弊害ではなくて、
32 ビット透過アイコンが透過されなくなるとかそういった類の話だと思います。

# 環境がないので確認できていませんが...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-04-20 07:25
10数年前に経験があるのですが、透過か。
その時は、外注した機能がカスタムメイドしてくれていたのですが、標準ので良かったので、標準のに差し替えてもらいました。詳しいことは調べていない。
_________________
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2007-04-20 09:16
引用:

32 ビット透過アイコンが透過されなくなるとかそういった類の話だと思います。



どこから引っ張り出してきたアイコンを表示しようとしてるんでしょうね。

システムリソースに入っているアイコンは透過色アリのイメージタイプを含んでいると思うけど、サイズじゃなくて、透過色のアリ/ナシを指定してアイコンから画像を抽出できたっけ?
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2007-04-20 10:10
試した感じ、どうも .NET 1.1 の PictureBox の問題っぽいですね。.NET 2.0 なら Image にセットするだけで普通に表示できました。

PictureBox を使うのをやめて、Control から派生させたコントロール(別に Control を直接使っても構いませんけど)を使って OnPaint or Paint で Graphics.DrawIcon するようにすれば、私のところではちゃんと表示できるようになりました。
未記入
会議室デビュー日: 2007/04/19
投稿数: 2
投稿日時: 2007-04-24 10:59
返答が遅れて申し訳ございません。

Jittaさん、じゃんぬねっとさん、渋木宏明(ひどり)さん、Hongliangさん
ありがとうございます。

Hongliangさんの言われている、派生コントロールから描画をためしてみたいと思います。

1

スキルアップ/キャリアアップ(JOB@IT)