VB6 アプリケーションがあり、フォーム アイコンの 1 つがアプリケーション アイコンとして設定されています。問題は、アイコンに 16x16、32x32、および 48x48 のサイズが含まれていても、Windows 7 ではアイコンがぼやけて見えることです。
この問題を回避する方法はありますか? SendMessage(... SETICON... ICON_BIG) を試しましたが、うまくいかないようです。
VB6 アプリケーションがあり、フォーム アイコンの 1 つがアプリケーション アイコンとして設定されています。問題は、アイコンに 16x16、32x32、および 48x48 のサイズが含まれていても、Windows 7 ではアイコンがぼやけて見えることです。
この問題を回避する方法はありますか? SendMessage(... SETICON... ICON_BIG) を試しましたが、うまくいかないようです。
ico ファイルのアイコンの色深度は?
VB6(私は信じています)は、アイコンの最大8ビットの色深度(256色)をサポートしています:-
したがって、8 ビットの色深度でサイズが 48 x 48 のアイコンがない場合は、最も近い一致を使用して 48 x 48 にスケーリングすることができます。
編集:
8 ビット深度の 48 x 48 アイコンを持たないアイコンを使用してこれを試しました (しかし、より高い深度では 48 x 48 を持っていました)。タスクバーで使用されるアイコンは 8 ビット色深度の 32 ビット アイコンでした。
さまざまな場所に表示するアイコン画像を選択するために使用される完全なヒューリスティックを理解しているとは言いませんが、ここで起こっているのは、48x48 画像が取得され、縮小されていることだと思います。
多くのバージョンの Windows で VB6 プログラムを使用すると、16 色 16x16 の画像がない場合、より大きなサイズが取得されてスケーリングされるのではないかと思います。理由は単純に、ICO リソース/ファイル内の画像の順序が原因である可能性があります。
ICO を編集して 16x16 画像の 16 色バージョンを追加すると、「問題」が解消される場合があります。