如何:调用 Windows 窗体控件的属性和方法
由于 CWinFormsView::GetControl 返回指向 System.Windows.Forms.Control 的指针,而不是指向 WindowsControlLibrary1::UserControl1
的指针,因此建议添加用户控件类型的成员并在 IView::OnInitialUpdate 中对它进行初始化。 现在可以使用 m_ViewControl
调用方法和属性。
本主题假设你之前已完成了如何:创建用户控件并将它承载在对话框中以及如何:创建用户控件并承载 MDI 视图。
创建 MFC 主机应用程序
打开在如何:创建用户控件和主机 MDI 视图中创建的 MFC 应用程序。
将以下行添加到 MFC02View.h 中
CMFC02View
类声明的公共替代部分。gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;
为 OnInitialupdate 添加替代。
显示“属性”窗口 (F4)。 在“类视图”(CTRL+SHIFT+C) 中,选择 CMFC02View 类。 在“属性”窗口中,选择替代图标。 向下滚动列表到 OnInitialUpdate。 单击下拉列表并选择“<添加>”。 在 MFC02View.cpp 中。 确保 OnInitialUpdate 函数的正文如下:
CWinFormsView::OnInitialUpdate(); m_ViewControl = safe_cast<WindowsFormsControlLibrary1::UserControl1 ^>(this->GetControl()); m_ViewControl->textBox1->Text = gcnew System::String("hi");
生成并运行该项目。
在 “生成” 菜单上,单击 “生成解决方案” 。
在“调试”菜单上,单击“开始执行(不调试)”。
请注意,文本框现已初始化。