タイトル | : Re^2: システムモーダルメッセージボックスのアイコンの変更方法 |
記事No | : 9811 |
投稿日 | : 2010/01/21(Thu) 13:21 |
投稿者 | : 魔界の仮面弁士 |
# 追記
Option Strict On で実行していた場合、Integer のままだとエラーになりますので、 > Const MB_TOPMOST As Integer = &H40000 の部分は、 Const MB_TOPMOST As MsgBoxStyle = CType(&H40000, MsgBoxStyle) の方が良いかもしれません。
> MsgBox("アプリケーション モーダル With TopMost", MB_TOPMOST Or vbApplicationModal) 追試してみたところ、Form 等から呼び出した場合と、コンソールアプリから呼び出した場合とでは、 上記の結果が微妙に変わってくるようです。コンソールからだと、最前面にならない事があります。
その場合には、MB_TOPMOST だけでなく、vbMsgBoxSetForeground (あるいは、 MsgBoxStyle.MsgBoxSetForeground) も一緒に指定しておくと、求める結果に 近くなるかと思います。
Const MB_TOPMOST As MsgBoxStyle = CType(&H40000, MsgBoxStyle) MsgBox("Test1") MsgBox("Test2", vbMsgBoxSetForeground) MsgBox("Test3", MB_TOPMOST) MsgBox("Test4", MB_TOPMOST Or vbMsgBoxSetForeground) MsgBox("Test5", vbSystemModal)
それぞれ微妙に結果が異なりますので、期待する動作に近いものを選んでみてください。 その結果、どれも期待する結果にならないのであれば、同等の画面を自作された方が良いでしょう。
|