MFCプログラムはシステムスタイルインターフェースを使用します.
3384 ワード
VC 6デフォルトコンパイルされたプログラムは、XPのLumaスタイルで実行されるのもWindowsの古典的なインターフェースであり、インターフェースの美観と統一を損なうことがあります.VC 2008のデフォルト設定では使用されていないunicodeもそうです.VC 6とVC 2008は、システムインターフェーススタイルを使用した解決策をコンパイルすることができます.
1.VC 6をシステムスタイルを使用したプログラムをコンパイルする
1)一つ.manifestファイルのリソースを作成します.res/フォルダの下に、プログラム名と一緒にファイルを作成します.manifestのファイルは、プログラムがtest.exeの場合、test.exe.manifestファイルの内容は以下の通りです.http://sites.google.com/site/ericzqma/developmentfiles/ResultCollector.exe.manifest?attredirects=0注意utf-8コードで保存します.
2)新規に定義されたリソースを.rc 2ファイルに追加し、タイプを24とし、res/フォルダの下にある.rc 2ファイルを開いて、下記の定義を加える.
その後コンパイルすればいいです.プログラムインタフェースをシステムのインタフェース特性を十分に利用できるように、インタフェースフォントをTrueTypeタイプに設定し、Windows XPなどの画面フォントの平滑化特性を利用します.
2.VC 2008をシステムスタイルを使用したプログラムをコンパイルする
VC 2008では比較的簡単ですが、プログラムの文字セットがunicodeを使用する場合はデフォルトではシステムインターフェーススタイルを使用します.他のタイプを選択するとstdafx.hを編集します.
一番後ろのところにこんなところがあります.
この文のバックアップ:http://fclose.com/b/programming/132/
1.VC 6をシステムスタイルを使用したプログラムをコンパイルする
1)一つ.manifestファイルのリソースを作成します.res/フォルダの下に、プログラム名と一緒にファイルを作成します.manifestのファイルは、プログラムがtest.exeの場合、test.exe.manifestファイルの内容は以下の通りです.http://sites.google.com/site/ericzqma/developmentfiles/ResultCollector.exe.manifest?attredirects=0注意utf-8コードで保存します.
2)新規に定義されたリソースを.rc 2ファイルに追加し、タイプを24とし、res/フォルダの下にある.rc 2ファイルを開いて、下記の定義を加える.
1 24 MOVEABLE PURE "res/test.exe.manifest"
ファイルアドレスは、1)ステップで変更した設定で結構です.その後コンパイルすればいいです.プログラムインタフェースをシステムのインタフェース特性を十分に利用できるように、インタフェースフォントをTrueTypeタイプに設定し、Windows XPなどの画面フォントの平滑化特性を利用します.
2.VC 2008をシステムスタイルを使用したプログラムをコンパイルする
VC 2008では比較的簡単ですが、プログラムの文字セットがunicodeを使用する場合はデフォルトではシステムインターフェーススタイルを使用します.他のタイプを選択するとstdafx.hを編集します.
一番後ろのところにこんなところがあります.
#ifdef _UNICODE
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"")
#else
#pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"")
#endif
#endif
次のように修正すればいいです.#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"")
#else
#pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"")
#endif
この文のバックアップ:http://fclose.com/b/programming/132/