1. 先创建OK按钮的事件消息
2.在View类中创建成员变量,比如我创建一个x;
3. 比如你创建的消息函数为 void CXXDlg::OnBnClickedOk(),则在函数中添加如下代码:
CString str;
GetDlgItem(IDC_EDIT)->GetWindowText(str);
4.获取View类的指针(
关键部分),方法:在上两行后接着写:
CCGView *pView = (CCGView *)((CMainFrame *)AfxGetApp()->GetMainWnd())->GetActiveView();
注意:我的View类叫CCGView,大家的就写自己的那个View。
5.传值:接着写:
pView->x = atoi(str)
后面用到atoi的原因是,编辑框获取到的是CString类型的,必须转化为int或其它类型,我这里转化为int。
最后举个整个函数的例子:
void CCircleDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
CString str1,str2,str3;
GetDlgItem(IDC_EDIT1)->GetWindowText(str1);
GetDlgItem(IDC_EDIT2)->GetWindowText(str2);
GetDlgItem(IDC_EDIT3)->GetWindowText(str3);
CCGView *pView = (CCGView *)((CMainFrame *)AfxGetApp()->GetMainWnd())->GetActiveView();
pView->m_xCoordinate = atoi(str1);
pView->m_yCoordinate = atoi(str2);
pView->m_rValue = atoi(str3);
OnOK();
}