SDK-MFC 備忘録 |
Windows SDKやMFCに関するメモです。
(記載内容について正しいことを保証するものではありません。MSDN等で確認してください)
2010/9/9 作成
mfcのfutureパックのコンポーネントをダイアログアプリや既存のアプリに組み込んだ場合、
VisualManagerの初期化が必要になります。
通常は、XXXAppクラス(またはXXXAppExクラス)のInitInstance()関数あたりに組み込みます。
この時に、初期化するスタイルによってはリソースの組み込みが必要になります。
このリソースの組み込みは、リソースファイルに直接記述を追加するひつようがあります。(プロジェクトのプロパティにはないようです。)
XXX.rcファイルに2か所追記が必要です。
(前略)
3 TEXTINCLUDE
BEGIN
"#define _AFX_NO_OLE_RESOURCES\r\n"
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
"\r\n"
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)\r\n"
"LANGUAGE 17, 1\r\n"
"#pragma code_page(932)\r\n"
"#include ""res\\mfcVs.rc2"" // Microsoft Visual C++ 以外で編集されたリソース\r\n"
"#include ""l.JPN\\afxres.rc"" // 標準コンポーネント\r\n"
"#include ""l.JPN\\afxprint.rc"" // 印刷/印刷プレビュー リソース\r\n"
"#if !defined(_AFXDLL)\r\n"
"#include ""l.JPN\\afxribbon.rc"" // MFC のリボン リソースとコントロール バー リソース\r\n"
"#endif\r\n"
"#endif\r\n"
"\0"
END
(中略)
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE 3 リソースから生成されました。
//
#define _AFX_NO_OLE_RESOURCES
#define _AFX_NO_TRACKER_RESOURCES
#define _AFX_NO_PROPERTY_RESOURCES
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
LANGUAGE 17, 1
#pragma code_page(932)
#include "res\\mfcVs.rc2" // Microsoft Visual C++ 以外で編集されたリソース
#include "l.JPN\\afxres.rc" // 標準コンポーネント
#include "l.JPN\\afxprint.rc" // 印刷/印刷プレビュー リソース
#if !defined(_AFXDLL)
#include "l.JPN\\afxribbon.rc" // MFC のリボン リソースとコントロール バー リソース
#endif
#endif
#endif // APSTUDIO_INVOKED でない場合
上記の太字の部分を追記します。
ウィザードで、MDI/SDIのプロジェクトでVisuslStyleの指定を行うと自動で生成されるようです。
もしかして、他に方法があるのかもしれませんが。。
取りえずメモしておきます。