0

いくつかの C++/CLI dll を参照する .NET C# プログラムがあり、それによっていくつかのレガシー MFC フォーム/ダイアログを起動できます。ただし、これらのダイアログが起動されると、現在の Windows テーマ (別名ビジュアル スタイル) が適用された状態で起動しません。古い W​​indows 98 スタイルで開きます。

これらのダイアログは、Application Exe プロジェクトの stdafx.h に含まれるプラグマ コメントを使用して元の C++/CLI プロジェクトから起動すると、ビジュアル スタイルで起動します。

Visual スタイルの C++ プロジェクトへの適用に関する、参照されている Microsoft の記事内のいくつかの提案を試しました。ただし、この記事は、古い MFC ダイアログを参照するハイブリッド C# ソリューションではなく、純粋な C++ ソリューションを対象としていると想定しているため、どれも機能しません。

tl;dr C# プログラムから MFC ダイアログを起動できますが、ダイアログは視覚的にスタイル設定されていません。

4

1 に答える 1

1

「アプリケーションでビジュアル スタイルを使用する場合は、アプリケーション マニフェストまたはコンパイラ ディレクティブを追加して、ComCtl32.dll バージョン 6 が使用可能であればそれを使用する必要があることを示す必要があります。」

ソース: https://msdn.microsoft.com/en-us/library/windows/desktop/bb773175(v=vs.85).aspx

アプリケーション マニフェストが機能するはずです。

于 2016-01-29T20:47:38.873 に答える