CWnd::FlashWindow
更新 : 2007 年 11 月
指定されたウィンドウを一度フラッシュします。
BOOL FlashWindow(
BOOL bInvert
);
パラメータ
- bInvert
CWnd をフラッシュさせるか、元の状態へ戻すかを指定します。bInvert が TRUE のとき、CWnd はフラッシュし、状態は変更されます。bInvert が FALSE のとき、ウィンドウは元の状態に戻されます (アクティブまたは非アクティブのいずれか)。
戻り値
FlashWindow メンバ関数が呼び出される前の状態を返します。呼び出される前にウィンドウがアクティブであった場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
続けてフラッシュする場合は、システム タイマを作って繰り返し FlashWindow 関数を呼び出します。CWnd がフラッシュすると、CWnd がアクティブでない状態からアクティブな状態に、またはその逆に変更中であるかのように、タイトル バーの外観が変わります(アクティブでない状態のタイトル バーはアクティブな状態のタイトル バーに変わり、アクティブな状態のタイトル バーはアクティブでない状態のタイトル バーに変わります)。
通常、現在の入力フォーカスを持たないウィンドウに注意を引く必要がある場合に CWnd がフラッシュされます。
bInvert パラメータは、CWnd が入力フォーカスを得ていてそれ以降はフラッシュしないときにだけ、FALSE になります。入力フォーカスが与えられるのを待ちながら再び呼び出されたときは TRUE になります。
この関数は、最小化表示されたウィンドウに使われたときは常に 0 以外の値を返します。ウィンドウが最小化表示されていると、FlashWindow はウィンドウ アイコンのみをフラッシュし、bInvert は最小化表示されたウィンドウでは無視されます。
使用例
BOOL CPenWidthsDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// set timer to cause dialog to flash
SetTimer(1, 500, NULL);
return TRUE; // return TRUE unless you set the focus to a control
}
void CPenWidthsDlg::OnTimer(UINT_PTR nIDEvent)
{
// cause the dialog to flash
FlashWindow(TRUE);
CDialog::OnTimer(nIDEvent);
}
必要条件
ヘッダー : afxwin.h