複製:
Winforms を使用して win32 アプリケーションを作成すると、Vista では Aero グラス効果が表示されますが、XP では表示されません。
異なるプラットフォーム間で同じ外観を実現するにはどうすればよいですか? 私はWPFを使用しています。
余談ですが、Microsoft は WPF を使用して Aero ガラス効果を作成しましたか? もしそうなら、ガラス効果は他のプラットフォームのデフォルトの WPF の外観であるべきではありませんか?
Winforms を使用して win32 アプリケーションを作成すると、Vista では Aero グラス効果が表示されますが、XP では表示されません。
異なるプラットフォーム間で同じ外観を実現するにはどうすればよいですか? 私はWPFを使用しています。
余談ですが、Microsoft は WPF を使用して Aero ガラス効果を作成しましたか? もしそうなら、ガラス効果は他のプラットフォームのデフォルトの WPF の外観であるべきではありませんか?
あなたが言及している「エアロ効果」は何ですか?ウィンドウ ガラスについて話している場合は、運が悪いと思います。ガラス効果は Vista のDesktop Window Managerを介してのみ可能になるためです。
ウィンドウの透明度や角の丸みなどを単純に探している場合、XP ではこれが可能です。詳細については、この記事をご覧ください。
わかりました。ほとんどの DWM は dwmapi.dll という DLL によって処理されます。Microsoft が API を記述する方法は C++ COM です。非整列化されたブール型など。これは、アンマネージ コードに到達する必要があるためです。実行する必要がある操作の一部は、.NET が干渉せずに監視するには危険すぎるためです。また、すべての戻り値の型が実際には戻り値ではないことに気付くかもしれません。 Vars を "out" 型として入れて、コードがメモリ内で Vars を変更できるようにし、その情報をマネージ .NET コードに読み戻すことができるようにします。Windows XP で同様の効果を得る方法としては、
これが役立つことを願っています:P
サイモン