방법: Windows Forms 컨트롤의 속성 및 메서드 호출
업데이트: 2007년 11월
CWinFormsView::GetControl은 WindowsControlLibrary1::UserControl1에 대한 포인터가 아니라 System.Windows.Forms.Control에 대한 포인터를 반환하므로 사용자 정의 컨트롤 형식의 멤버를 추가하고 이를 IView::OnInitialUpdate에서 초기화하는 것이 좋습니다. 이제 m_ViewControl을 사용하여 메서드와 속성을 호출할 수 있습니다.
MFC 호스트 응용 프로그램을 만들려면
방법: 대화 상자에 사용자 정의 컨트롤 및 호스트 만들기에서 만든 MFC 응용 프로그램을 엽니다.
MFC02View.h에서 CMFC02View 클래스 선언의 public overrides 섹션에 다음 줄을 추가합니다.
gcroot<WindowsControlLibrary1::UserControl1 ^> m_ViewControl;
OnInitialupdate에 대한 재정의를 추가합니다.
F4 키를 눌러 속성 창을 표시합니다. 클래스 뷰(Ctrl+Shift+C)에서 CMFC02View 클래스를 선택합니다. 속성 창에서 재정의를 나타내는 아이콘을 선택합니다. OnInitialUpdate가 표시될 때까지 목록을 아래로 스크롤합니다. 드롭다운 목록을 클릭하고 <추가>를 선택합니다. MFC02View.cpp에서 OnInitialUpdate 함수의 본문이 다음과 같아야 합니다.
CWinFormsView::OnInitialUpdate(); m_ViewControl = safe_cast<WindowsControlLibrary1::UserControl1 ^>(this->GetControl()); m_ViewControl->textBox1->Text = gcnew System::String("hi");
프로젝트를 빌드하여 실행합니다.
빌드 메뉴에서 솔루션 빌드를 클릭합니다.
디버그 메뉴에서 디버깅하지 않고 시작을 클릭합니다.
텍스트 상자가 초기화됩니다.