タスクバーへのウィンドウ表示の動的切り替え
(1999/08/04 [水])
ウィンドウを使ったアプリケーションを起動するとタスクバーにそのウィンドウを示すタイトル部分が表示されます。しかし、タスクバーに表示したくないウィンドウを作成したい時もあります。そのような時には、拡張スタイルに WS_EX_TOOLWINDOW を指定してウィンドウを作成すると表示されません。
さらに、始めはタスクバーに表示されているけど、あるきっかけで非表示にしたい、あるいは、逆に始めは非表示だけど、あるきっかけで表示したいということが考えられます。そのような時には、動的に表示を切り替える必要があります。そのやり方の一つとして次の方法があります。hwnd はそのウィンドウのウィンドウハンドルを示します。
ただしこのとき、タイトルバーの太さが変化するのでその点を注意する必要があります。
さらに、始めはタスクバーに表示されているけど、あるきっかけで非表示にしたい、あるいは、逆に始めは非表示だけど、あるきっかけで表示したいということが考えられます。そのような時には、動的に表示を切り替える必要があります。そのやり方の一つとして次の方法があります。hwnd はそのウィンドウのウィンドウハンドルを示します。
//非表示にする場合 ShowWindow(hwnd, SW_HIDE); SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_TOOLWINDOW); ShowWindow(hwnd, SW_SHOW); //表示する場合 ShowWindow(hwnd, SW_HIDE); SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) & ~WS_EX_TOOLWINDOW); ShowWindow(hwnd, SW_SHOW); |
ただしこのとき、タイトルバーの太さが変化するのでその点を注意する必要があります。
by seclan