tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルMsgBoxのアイコン
記事No13163
投稿日: 2008/10/22(Wed) 22:24
投稿者AIKO
いつも拝見させて頂き、とても助かっています。

さてさて、MsgBoxの警告メッセージ等のアイコン(vbCritical等他3ヶ)を
ユーザーフォームに用意したイメージ或いはピクチャーに表示出来ないでしょうか?

しかし、別途用意したiconファイルではなく、Windowsが標準で持っている
アイコンを使用し表示したのです。

環境
WindowsXP SP2
VB6 SP5

どうか諸先生方宜しくお願い致します。

[ツリー表示へ]
タイトルRe: MsgBoxのアイコン
記事No13164
投稿日: 2008/10/22(Wed) 23:45
投稿者花ちゃん
>MsgBoxの警告メッセージ等のアイコン(vbCritical等他3ヶ)を
vbCritical / vbQuestion / vbExclamation / vbInformation の4ヶですよね。

どうも、User32.DLL 内に入っているアイコンを使っているようですね。

     User32.DLL からの取得結果
     http://hanatyan.sakura.ne.jp/samplepic/user32dll_ico.gif

[ツリー表示へ]
タイトルRe: MsgBoxのアイコン
記事No13165
投稿日: 2008/10/23(Thu) 00:25
投稿者Blue
LoadIcon APIでIDI_ERRORを指定すれば、アイコンハンドルが取れるので、
stdole.IPictureDispに変換するとか。

Option Explicit

Private Declare Function LoadIcon Lib "user32" Alias "LoadIconA" _
    (ByVal hInstance As Long, ByVal lpIconName As Long) As Long
Private Const IDI_ERROR As Long = &H7F01&
Private Const IDI_QUESTION As Long = &H7F02&
Private Const IDI_EXCLAMATION As Long = &H7F03&
Private Const IDI_INFORMATION As Long = &H7F04&

Private Sub Command1_Click()
    Me.Picture1.Picture = CreateIconPicture(LoadIcon(0&, IDI_INFORMATION))
End Sub

※CreateIconPictureは
http://park7.wakwak.com/~efc21/cgi-bin/exqalounge.cgi?print+200612/06120314.txt

[ツリー表示へ]
タイトルRe: MsgBoxのアイコン
記事No13166
投稿日: 2008/10/23(Thu) 07:06
投稿者AIKO

花ちゃんさん、Blueさん、ご指導ありがとうございました。
Blueさんの記述内容とリンク先参照で無事表示することが
できました。
それにしても、みなさん凄いです!!
ありがとうございました。
今後ともどうぞ宜しくお願い致します。

[ツリー表示へ]