VC7, VC71에서는 AtlAxWindow 클래스 스트링이 다르더군요.
VC6에서는 “AtlAxWin”, VC7 에서는 “AtlAxWin7”, VC71 에서는 “AtlAxWin71” 을 클래스 스트링으로 Flash를 호스트할 윈도를 생성해야 합니다. VC7 또는 VC71 에서는 ATLAXWIN_CLASS 라는 매크로로 클래스 스트링이 정의되어 있습니다.
FlashconAxImp.h 의 초반부를 다음과 같이 변경하고
#ifndef __atliface_h__
// AtlAxWinInit is implemented in Atl.dll
#pragma comment(lib, “atl.lib”)
#pragma message(“Linking to ‘atl.lib'”)
#include <atldef.h>
#define _ATL_DLL_IMPL
#include <atliface.h>
#if _MSC_VER <= 1200
// VC6 do not have ATLAXWIN_CLASS definition
#define ATLAXWIN_CLASS “AtlAxWin”
#endif
#pragma message(“AtlAxWin class name \'” ATLAXWIN_CLASS “\'”)
#endif // #ifndef __atliface_h__
중반부의 CreateAxContor() 멤버함수의 윈도 생성 부분을
HWND hwndCtrl = ::CreateWindowEx(dwExStyle, ATLAXWIN_CLASS, NULL,
dwStyle, rcPos.left, rcPos.top, rcPos.right – rcPos.left, rcPos.bottom – rcPos.top,
hwndParent, NULL, hInstance, NULL);
로 수정하면 VC7, VC71에서도 사용할 수 있습니다.