#115 フォームのキャプションを点滅させるには? VBA、API

WindowsAPIの「FlashWindow」関数を使うと、フォームのキャプション(標題の部分)を点滅させることができます。

FlashWindow関数はAPI関数ですので、プログラム中でこれを使うためには、標準モジュールの"Declarations"セクションに次の宣言を追加します。
Declare Function FlashWindow Lib "user32"  _
                        (ByVal hWnd As Long, ByVal bInvert As Long) As Long
ただし、実際にはこの関数はキャプションの点滅ではなく、現在の状態を反転させるだけです。"点滅"という動作を行わせるためには、複数回この関数を呼び出さなければなりません。次の例では、"フォーム1"のキャプションを0.5秒間隔で3回点滅(点く/消えるを3回繰り返し)させます。
Dim frm As Form
Dim iintLoop As Integer
Dim dtmCurTime As Date
Const cdblWaitTime As Double = 0.5
Const cintRepeat As Integer = 3

Set frm = Forms!フォーム1

'複数回点滅のループ
For iintLoop = 1 To cintRepeat * 2

  '1回分の点灯または消灯を行います
  FlashWindow frm.hwnd, True

  '一定時間待機します
  dtmCurTime = Now + cdblWaitTime / 24 / 3600
  Do Until Now >= dtmCurTime
  Loop

Next iintLoop

'キャプションの状態をリセットします
FlashWindow frm.hwnd, False
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved