다이얼로그 기반의 ActiveX Control을 만들어 보겠습니다.

1. Projects에서 "MFC ActiveX ControlWizard" 를 새로 생성합니다. (여기에서 아무런 설정도 해주지 않습니다.)
2. 새로운 다이얼로그 리소스를 하나 추가해주며, 명칭은 IDD_TESTDIALOG로 해주겠습니다.
3. CDialog기반의 CTestDialog 라는 클래스를 추가합니다.
속성중 style은 child로 바꿔 줍니다. 안그러면 화면에 그냥 떠버리더군요.
visible 속성을 체크 합니다. 그래야 나타납니다.
4. CDialogCtrl의 해더 파일에 CTestDialog m_TestDialog 멤버변수를 추가합니다.
물론 #include "TestDialog.h"를 해주는것도 잊으면 안되구요.
5. classwizard를 이용하여 OnCreate(...) 멤버 함수를 추가하며 아래와 같이 소스를 추가해줍니다.

int CTestCtrl::OnCreate(...)
{
...
m_TestDialog.Create(IDD_TESTDIALOG, this);

...
}

6. OnDraw(...) 멤버함수를 수정합니다.
void CTestCtrl::OnDraw(...)
{
CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH));
m_TestDialog.MoveWindow(rc.Bounds, TRUE);
}

7. 이제 빌드를 하시면 됩니다. 테스트는 ActiveX Control Test Container 에서 하셔도 되고 웹페이지를 하나 생성해서 하셔도 됩니다.

8. 웹페이지에서의 생성은

사용자 삽입 이미지

이렇게 하시면 됩니다. 그럼 아래와 같이 나옵니다.

여기에서 CLASSID는 xxx.odl 파일에 보시면 가장 아래에 있는 CLSID를 사용하시면 됩니다.

by Redef( http://www.redef.pe.kr )
Posted by 모과이IT
,