OrangeMaker_logo
memo アイコン SDK-MFC 備忘録

Windows SDKやMFCに関するメモです。
(記載内容について正しいことを保証するものではありません。MSDN等で確認してください)

VisualManagerのリソース

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の指定を行うと自動で生成されるようです。

もしかして、他に方法があるのかもしれませんが。。

取りえずメモしておきます。