Vista / 7では、Windowsエクスプローラーのシェルウィンドウは、特別な種類の静的プログレスバーを使用してハードドライブのスペースを表示します。
デフォルトのスタイルでは、このバーは青色でアニメーション化されていません。また、いっぱいに近づくと(ディスク容量が少なくなると)赤色に変わります。
メッセージングを使用して、WindowsフォームのProgressBarコントロールに、状態を一時停止とエラー(それぞれ黄色と赤色)に更新するように指示できます。これは正常に機能しますが、これらは進行状況に固有です。
Windowsユーザーエクスペリエンスガイドラインでは、プログレスバーのこの「メーター」バリアントを具体的に指摘しています。
このパターンはプログレスバーではありませんが、プログレスバーコントロールを使用して実装されます。メーターは、真のプログレスバーと区別するために明確な外観を持っています。
彼らはそれが「プログレスバーコントロールを使用して実装されている」と言っているので...どうやって?このように動作させるために、コントロールにどのようなメッセージを送信できますか?
バーの色を設定するためのメッセージを送信できることを確認しましたが、ドキュメントには、視覚的なスタイルが有効になっている場合、これらの呼び出しは無視されると記載されています。生のProgressBarコントロールに関するWindowsAPIドキュメントには、これを行う方法を示唆しているものは他にありません。カスタムドローバーを作成するのに行き詰まっていますか?アプリケーションがさまざまなOSバージョンで一貫して表示されるように、可能な限りOSを利用したいと思います。ただし、Vistaより前のバージョンではおそらくこれがサポートされないことを理解しています。
Windowsフォームソリューションを探していますが、Win32APIを介して公開されているのではないかと思います。