방법: Windows Forms 컨트롤의 속성 및 메서드 호출
CWinFormsView::GetControl은 포인터가 아닌 포인터WindowsControlLibrary1::UserControl1
를 System.Windows.Forms.Control반환하므로 사용자 컨트롤 형식의 멤버를 추가하고 IView::OnInitialUpdate에서 초기화하는 것이 좋습니다. 이제 .를 사용하여 m_ViewControl
메서드 및 속성을 호출할 수 있습니다.
이 항목에서는 이전에 방법: 대화 상자에서 사용자 컨트롤 및 호스트 만들기 및 방법: 사용자 컨트롤 및 호스트 MDI 뷰 만들기를 완료한 것으로 가정합니다.
MFC 호스트 애플리케이션을 만들려면
방법: 사용자 컨트롤 및 호스트 MDI 뷰 만들기에서 만든 MFC 애플리케이션을 엽니다.
MFC02View.h에서 클래스 선언의 공용 재정의
CMFC02View
섹션에 다음 줄을 추가합니다.gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;
OnInitialupdate에 대한 재정의를 추가합니다.
속성 창(F4)을 표시합니다. 클래스 뷰(Ctrl+Shift+C)에서 CMFC02View 클래스를 선택합니다. 속성 창에서 재정의 아이콘을 선택합니다. 목록을 OnInitialUpdate로 콜다운합니다. 드롭다운 목록을 클릭하고 추가>를 선택합니다<. In MFC02View.cpp. OnInitialUpdate 함수의 본문이 다음과 같은지 확인합니다.
CWinFormsView::OnInitialUpdate(); m_ViewControl = safe_cast<WindowsFormsControlLibrary1::UserControl1 ^>(this->GetControl()); m_ViewControl->textBox1->Text = gcnew System::String("hi");
프로젝트를 빌드하고 실행합니다.
빌드 메뉴에서 솔루션 빌드를 클릭합니다.
디버그 메뉴에서 디버깅하지 않고 시작을 클릭합니다.
이제 텍스트 상자가 초기화됩니다.