私はMFCプロジェクトを持っています。それは40以上の言語をサポートしています。メニューがクロップされました
私のPCには2台のモニターがあります。彼らは、サイズモニターと解像度の違いがあります。
小さなモニターにアプリケーションを移動すると、完全な言語メニューが表示されません。私はそれがスクロールバーを表示することを理解した。それはなぜですか?
マイメニューは標準メニューです。何もない。
メインモニタの解像度が高く、フルメニューが表示されます。
お知らせください。
私はMFCプロジェクトを持っています。それは40以上の言語をサポートしています。メニューがクロップされました
私のPCには2台のモニターがあります。彼らは、サイズモニターと解像度の違いがあります。
小さなモニターにアプリケーションを移動すると、完全な言語メニューが表示されません。私はそれがスクロールバーを表示することを理解した。それはなぜですか?
マイメニューは標準メニューです。何もない。
メインモニタの解像度が高く、フルメニューが表示されます。
お知らせください。
DPI認識を設定する方法はいくつかあります。この値をどのように設定したかによって異なります。
クリック"Project Properties"
- >"Manifest Tools"
- >"DPI Awareness"
それは、問題を説明することができ、あなたのケースで"High DPI Aware"
を、言うかもしれません。 "Per Monitor High DPI Aware"
"True/PM"
の代わり
"True"
でなければなりません。マニフェストファイルの名前は
"myapp.exe.manifest"
で、リソースディレクトリに置く必要があります。
<dpiAware>True/PM</dpiAware>
この場合、値は"True"
であり、問題が説明されている可能性があります。
SetProcessDpiAwareness
を使用している可能性があります。その場合は、値
PROCESS_PER_MONITOR_DPI_AWARE
を使用する必要があります。
SetProcessDPIAware
を使用している可能性もあります。この関数は非推奨です。
ありがとうございました。私の設定は** High DPI Aware **に設定されていました。私はそれをもう一方の設定に調整し、メニューは両方のモニターに正しく表示されます。ありがとうございました。 :) –
私はあなたのプログラムが "意識DPI" とは対照的に、 "モニタ解像度ごとの対応" であると仮定も参照してください? –
正直な答えは分かりません。それをどうやって調べるのですか? –