0

Windows 10 で動作する従来のアプリの 1 つで、フォーカスの四角形が変更されていることに気付きました。同じ効果が見られる古いスタイルの Microsoft アプリが他にもあることがわかりました。たとえば、HTML Help Workshop などです。フォーカスの四角形は、黒と白のドットが交互に配置された点線の四角形である必要がありますが、2 ピクセルの四角形が選択範囲とブレンドされ、赤オレンジの四角形のように見えます。

ここに画像の説明を入力

この問題は、Windows 10 バージョン 1909 を搭載した 2 台のコンピューターでのみ発生します。そのうちの 1 つは Pro エディションで、もう 1 つは Home エディションです。

フォーカス四角形は、WinAPI DrawFocusRect関数を使用してアプリで描画されます。関数のドキュメントにはDrawFocusRect、次のように記載されています。

Windows XP: フォーカスの四角形を 1 ピクセルより太くできるようになったため、高解像度、高密度ディスプレイ、およびアクセシビリティのニーズに対してより見やすくなりました。

しかし、これは、問題がこれら 2 台のコンピューターでのみ発生する理由を理解するのに役立ちません。それらには通常の 96dpi ディスプレイが装備されており、私が知っているように、アクセシビリティ オプションは有効になっていません。

従来の 1 ピクセルの黒/白の点線の四角形を表示するためにフォーカス四角形の描画を修正する方法は?


役立つ場合は、VB6 アプリでフォーカス四角形を描画するために使用されるコードの例を次に示します。

Dim hBrBlack As Long
hBrBlack = CreateSolidBrush(vbBlack)
FrameRect hMemDC, rcFocusRect, hBrBlack
DeleteObject hBrBlack

SetBkColor hMemDC, lColor1
SetTextColor hMemDC, lColor2
DrawFocusRect hMemDC, rcFocusRect
4

1 に答える 1