webdevqa.jp.net

Windowsの配色ダイアログにメッセージボックスのテキスト項目があるのはなぜですか?

高度な外観ダイアログでは、多数のUIコントロールの色を設定することにより、Windowsの配色を編集できます。

困惑しているのはメッセージボックス(ダイアログボックス)です。 3Dオブジェクト(ボタンなど)とタイトルバー(タイトルバーのあるすべてのウィンドウで共有される)を除いて、メッセージボックスアイテムは1つだけです。色:メッセージボックステキスト

問題は、メッセージボックスのテキストの色が一般的なウィンドウテキストの色も変更することです。その逆も同様です。つまり、メッセージボックスのテキストの色をウィンドウのテキストの色とは異なる色に設定することはできません。

さらに、どちらのレジストリにもアイテムはありません(HKEY_CURRENT_USER\Control Panel\Colors)、またはダイアログボックス(静的)テキストの色に対応する Windows API

高度な外観ダイアログの色の一部は、動的に設定または完全に無効にされます(一部はまったく使用できず、他の方法で設定する必要があります)が、メッセージボックスのテキストの色はどれでもない。

マイクロソフトが独自の色を持っていないのに、ダイアログボックスのテキストの色を個別に設定する機能を含めるのに苦労した理由を誰かが知っていますか?

Advanced Appearance dialog

ボーナスの質問:isスクロールバーのカラーエントリ(COLOR_SCROLLBAR)?

3
Synetech

このダイアログボックスは、Windowsのいくつかのメジャーバージョンにまでさかのぼると思います。おそらく3.1または3.0までさかのぼります。それは間違いなくWindows95にありました。当時はもちろん、すべての設定可能な項目は理にかなっています。また、レジストリの基になる値は、実際にはWindows1.0にまでさかのぼります。

しかし、Microsoftはこれまで、このダイアログボックスを大幅に見直したことがなく、代わりに、設定可能な項目のリストを少し調整したり、色(特に配色)を簡単に設定するために別のダイアログボックス全体を追加したりしていません。

また、暫定的に、Windowsが一部のカラーアイテムを使用する方法が変更されました。これが、スクロールバーの色の設定が機能しなくなった理由です。そして、おそらくメッセージボックスのテキストの色を設定することがウィンドウのテキストの色を変更する理由です。

3
staticsan