2011-08-31 1 views
0

ActiveX 컨트롤 프로젝트 (OCX)에서 DoModal()을 사용하여 MS FlexGrid ActiveX 컨트롤이 포함 된 대화 상자를 열려고합니다. FlexGrid 컨트롤에 대한 멤버 변수를 추가하고 마법사를 통해 래퍼 클래스를 생성했습니다. 하지만 DoModal() 후에 대화 상자가 나타나지 않습니다. 나는 OnInitDialog()가 호출되지 않는다는 것을 알아 차렸다. 대화 상자에서 MS FlexGrid 컨트롤을 제거하면 대화 상자가 나타납니다. 나는 무엇이 그리울지 모르겠다.MS FlexGrid ActiveX 컨트롤이 포함 된 모달 대화 상자를 열 수 없습니다.

+0

컨트롤 만 제거하면 대화 상자가 열립니다. – Sunscreen

답변

0

컨트롤/대화 상자를 만드는 동일한 스레드에서 컨트롤/대화 상자를 만들기 전에 다음 호출로 작업을 초기화해야합니다.

AfxEnableControlContainer(); 
CoInitialize(); 
+0

감사합니다. Erik. 내 ActiveX 컨트롤의 InitInstance() 내에 AfxEnableControlContainer()가 추가되었습니다. 그것은 효과가 있었다. – coonal