[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/04/06(Wed) 19:42
投稿者名:ダンディ本脇
Eメール:
URL :
タイトル:
Form上でMsgBoxを出した時の画面のチラツキ
いつも楽しく拝見しております。
今大変困っているのですが、
ShowInTaskBarをFalseにしてフォーム上でMsgBoxを出すと
一瞬画面がちらついたり、完全に壁紙が見えてしまったり
するのですが、何か良い回避策ありますでしょうか?

投稿時間:2005/04/06(Wed) 20:16
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: Form上でMsgBoxを出した時の画面のチラツキ
ちらつきが再現できるコードを提示して見てください。
因みに投稿された条件では再現できませんでした。(ちらつかない)
Private Sub Form_Click()
    MsgBox "あいうえお"
End Sub
Private Sub Form_Load()
    'Me.ShowInTaskbar = False
End Sub

# 下記のようなことはやっていないでしょうね。
水平スクロール バー コントロールおよび垂直スクロール バー コントロールの
Change イベント プロシージャでは、MsgBox 関数または MsgBox ステートメントを
使用しないでください。

投稿時間:2005/04/06(Wed) 22:00
投稿者名:ダンディ本脇
Eメール:
URL :
タイトル:
Re^2: Form上でMsgBoxを出した時の画面のチラツキ
レス有難うございます。
> ちらつきが再現できるコードを提示して見てください。

Private Sub Command1_Click()
    MsgBox "あ"
End Sub

ShowInTaskbarをFalseにするのは手動でvbp上で手動で行いました。

Formのサイズを大きくした方が分かりやすいです。

投稿時間:2005/04/06(Wed) 22:54
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: Form上でMsgBoxを出した時の画面のチラツキ
> Formのサイズを大きくした方が分かりやすいです。

なるほど、閉じた後にちらつくのですね

下記ではどうでしょう
Private Sub Command1_Click()
    Dim Ret As Integer
    Ret = CreateObject("WScript.Shell").Popup _
        ("このメッセージボックスは3秒後自動的に閉じます。", 3, _
        "自動的に閉じる", vbYesNo)
  Debug.Print Ret
End Sub

閉じます。", , _ のように秒数を指定いなければVBのMsgBox と同様に使えます。

又は、フォームを使って代用する。
  Form2.Show 1, Me

投稿時間:2005/04/07(Thu) 14:54
投稿者名:ダンディ本脇
Eメール:
URL :
タイトル:
Re^4: Form上でMsgBoxを出した時の画面のチラツキ
返答有難うございます。

> 下記ではどうでしょう
> Private Sub Command1_Click()
>     Dim Ret As Integer
>     Ret = CreateObject("WScript.Shell").Popup _
>         ("このメッセージボックスは3秒後自動的に閉じます。", 3, _
>         "自動的に閉じる", vbYesNo)
>   Debug.Print Ret
> End Sub
この方法は使えそうですね。
有難うございました。

ただ、開発が終盤選を迎えているので出来ればフォームのプロパティを
変えるだけで回避したいのです。
フォームのプロパティを変えるだけで回避することは出来ないのでしょうか?

投稿時間:2005/04/07(Thu) 16:58
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^5: Form上でMsgBoxを出した時の画面のチラツキ
> ただ、開発が終盤選を迎えているので出来ればフォームのプロパティを
> 変えるだけで回避したいのです。
意味が理解できません。(どちらが重要なのでしょうか)
置き換えるのが面倒という事でしょうか?
Public objWsh As New WshShell で宣言しておけば、MsgBox と objWsh.Popup とを
置き換えるだけだから、[検索・置き換え]でできるのでは。

> フォームのプロパティを変えるだけで回避することは出来ないのでしょうか?
あれば、貴方も見つけているでしょうし、私も試した限りでは見つからなかったから
代替案を提示したのです。