MFC CFormView与CView之间数据传递(新手)

我用MFC分割了2个窗口,在左窗口显示图像,右窗口用CFormView做的控件。原意是在左窗口使用KEYDOWN控制物体运动,然后在右窗口编辑栏中显示示数,但是无法达成效... 我用MFC分割了2个窗口,在左窗口显示图像,右窗口用CFormView做的控件。原意是在左窗口使用KEYDOWN控制物体运动,然后在右窗口编辑栏中显示示数,但是无法达成效果,每次需要在编辑栏中输入(任意)数据才会更新编辑栏中的值。
我使用的是OnUpdate(EN_UPDATE),把编辑栏关联了一个变量,想在CView中改变变量的值(GetDlgItem(IDC_EDIT1)->SetWindowText(CFormCommandView::m_str);)但是报错illegal reference to data member 'CFormCommandView::m_str‘ in a static member function,不知道该如何解决,求大神指教。
展开
 我来答
bhtzu
推荐于2016-09-25 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4189万
展开全部

  CFormCommandView::m_str

  这样肯定是无法获取实际运行窗口数据的。想在CView中改变FormView的编辑框,你需要在CView中获取FormView的实际指针,再操作,这个过程稍微复杂。

  1.   通过AfxGetMainWnd()获取主框架指针;

  2. 强制转换后,获取拆分窗口变量pMainWnd->m_wndSplitter的指针;

  3. 通过拆分指针的函数m_wndSplitter->GetPane(0,1); 可以获取FormView的指针m_formwnd;

  4. 然后就可以改变编辑框的值了:m_formwnd->GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式