Windows デベロッパー センター > Windows クライアント開発 フォーラム > Windows クライアント開発 - 全般 > Windows7 タスクバー:選択中のアプリの背景表示色の制御について
質問する質問する
 

回答済みWindows7 タスクバー:選択中のアプリの背景表示色の制御について

  • 2009年9月14日 4:48せれ ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    お世話になります。
    Windows 7 SDKを利用してVS2008 C++で新タスクバーを利用したアプリの試作を行っています。

    現在、Samples\winui\shell\appshellintegration\TaskbarPeripheralStatusを利用して
    オーバーレイアイコン、プログレスバーの実装を勉強していたのですが、アイコンを変更すると、場合
    によってはかなり奇天烈な表示になってしまうことを確認しました。

    どうもプログレスバーで進捗表示している間は、タスクバー上で該当アプリが選択された時の発光色も
    表示されるようで、しかもその発光色はアイコンの色に依存しているようです。そのため、アイコンが黄色
    を基調としていると、薄い黄色の発光色+緑のプログレスバーといった表示になって見づらくなっています。

    つきましては、アプリが選択された時の発光色を制御したいと考えておりますが、どなたか情報をお持ちで
    しょうか。

    以上、よろしくお願いします。

回答

  • 2009年9月14日 7:35artglass ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     回答済み

    タスクバー自体のマウス Hover 時の色を制御できるかってことですよね。
    さすがに、それは無理なんじゃないでしょうか。
    確かに、マウス Hover した際の "選択色" ですが、アイコンの色をベースに表示されます。

    例)
    Visual Studio だと、タスクバー上のアイコンをマウス Hover した際にはオレンジ色っぽく見えます。
    メモ帳だと、青ベースに見えます。
    Expression Web 3 なんて、グリーンベースです...。

    また、エアロのウィンドウ色の設定でも、見えやすさって変わりますし、
    テーマで、ごっそりとコントロール系の基本色を変えられてしまうと...。
    言いだすときりがないですね。 

    つまり、プログラムで Hover 時の色を制御できたとしても、その環境のみであって
    すべての環境では制御するのは困難ってことです。

    タスクバーのプログレスバーを使用する際、色の被りを避けたいのであれば、 

    • TBPF_NORMAL: グリーン
    • TBPF_ERROR: レッド
    • TBPF_PAUSED: イエロー

    と被らないようなアイコンデザインにするしかないように思います。(なかなか、難しいとは思いますが) 

    • 回答としてマークせれ 2009年9月18日 5:33
    •  

すべての返信

  • 2009年9月14日 5:03せれ ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     

    すいません、誤認識していた箇所について訂正します。

    > どうもプログレスバーで進捗表示している間は、タスクバー上で該当アプリが選択された時の発光色も
    > 表示される

    プログレスバーによる指定色を用いた進捗表示と、タスクバー上で該当アプリが選択された時の発光色が
    共存する

    やりたいことは変わりません。
    以上、よろしくお願いします。

  • 2009年9月14日 7:35artglass ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     回答済み

    タスクバー自体のマウス Hover 時の色を制御できるかってことですよね。
    さすがに、それは無理なんじゃないでしょうか。
    確かに、マウス Hover した際の "選択色" ですが、アイコンの色をベースに表示されます。

    例)
    Visual Studio だと、タスクバー上のアイコンをマウス Hover した際にはオレンジ色っぽく見えます。
    メモ帳だと、青ベースに見えます。
    Expression Web 3 なんて、グリーンベースです...。

    また、エアロのウィンドウ色の設定でも、見えやすさって変わりますし、
    テーマで、ごっそりとコントロール系の基本色を変えられてしまうと...。
    言いだすときりがないですね。 

    つまり、プログラムで Hover 時の色を制御できたとしても、その環境のみであって
    すべての環境では制御するのは困難ってことです。

    タスクバーのプログレスバーを使用する際、色の被りを避けたいのであれば、 

    • TBPF_NORMAL: グリーン
    • TBPF_ERROR: レッド
    • TBPF_PAUSED: イエロー

    と被らないようなアイコンデザインにするしかないように思います。(なかなか、難しいとは思いますが) 

    • 回答としてマークせれ 2009年9月18日 5:33
    •  
  • 2009年9月18日 5:33せれ ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     

    やはり、アイコンデザインで調整するしかないですかね

    atglassさん、ありがとうございました