ウィンドウをブリンク(点滅)させる

 簡単なネタですみません。
フォアグラウンドウィンドウの扱いは過去、様々な議論がありました。
SetForegroundWindow() を呼び出すことで、Z オーダーを最も高くすることができますが
アクティブにしてしまってよいのかどうか。

詳しくは、MSDN SetForegroundWindow() をどうぞ。

アプリケーションがウィンドウをフォアグランドにするときですが

"なぜ、最前面に表示する必要があるのか"
"そのタイミングで表示させるべきなのか"
"本当に表示してよいのか"

を考えた方がよいです。
むやみにフォアグラウンドにして、アクティブにしてしまうと、ユーザーの反感を
買う可能性もあり得ます。
では、どうしようかとなりますが、ウィンドウをブリンク(点滅)させるというのもありだと思います。
ウィンドウをブリンクさせるのは簡単です。

使い方ですが、

FLASHWINFO stfi;
ZeroMemory(&stfi, sizeof(FLASHWINFO));

stfi.cbSize = sizeof(FLASHWINFO);
stfi.hwnd = m_hWnd;        // ブリンクさせたいウィンドウハンドル
stfi.dwFlags = FLASHW_ALL;    // ウィンドウとタスクバーをブリンクさせる
stfi.uCount = 5;        // 5 回ブリンクさせる
stfi.dwTimeout = 0;

FlashWindowEx(&stfi);

という具合で非常に簡単です。
些細なことですが、これもユーザーエクスペリエンスですね。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。