MFC问题:CFormView实时刷新从CView获得的数据

如图,左边是CControlView,基类CFormView;右边是CTotalView,基类CView鼠标在右边CTotalView单击,可以在鼠标处画线(红线),并得... 如图,左边是CControlView,基类CFormView;右边是CTotalView,基类CView
鼠标在右边CTotalView单击,可以在鼠标处画线(红线),并得到光标的坐标(这些我都做好了,光标坐标也得到了)
可是怎么在左边的CControlView中通过edit控件将坐标显示出来?有什么函数吗?
展开
 我来答
匿名用户
2013-01-14
展开全部
你向左边的视图发送消息PostMessage或者SendMessage均可。把坐标放在参数里
如:自定义消息UM_SHOWPOSITION
然后pFormview->SendMessage(UM_SHOWPOSITION , point.x | (point.y << 16));
在CControlView中收到消息进行显示。
如果你的CTotalView中不想保存CControlView的对象指针,你可以给主框架发送消息:
AfxGetMainWnd()->SendMessage(UM_SHOWPOSITION , point.x | (point.y << 16));
由主框架中转一下再发给CControlView(你主框架肯定有CControlView的对象指针的)。
更多追问追答
追问
你好我想再问下这个自定义消息怎么写啊?我之前写的都是各处参考的,MFC的底子不好所以不太会写
追答
你可以自行新建一个头文件,在里面声明:#define UM_XXX  (WM_USER + 1) 
注:XXX你自己命名,那个+1你可以加只要和其它自定义消息不冲突即可
给CControlView新增自定义函数,具体做法是:
在类声明里添加函数声明afx_msg LRESULT OnXXX(WPARAM , LPARAM);
然后在CControlView对应的CPP中的消息路由里加入ON_MESSAGE(UM_XXX, On)
也就是在BEGIN_MESSAGE_MAP(..., ...)
这个下加入。
然后自己再编写OnXXX(WPARAM wapram,LPARAM lparam);这个函数,这样有消息的时候就会调用这个函数,参数就是对应的
SendMessage(UM_SHOWPOSITION , point.x | (point.y > 16);
...
}
}
return 0;
}
如果要使用由主框架中转,那你同样的办法在CMainFrm里加入消息响应
在判断case UM_XXX:时给CControlView发送消息即可。
xz宏定义
2013-01-14 · TA获得超过1029个赞
知道小有建树答主
回答量:1621
采纳率:100%
帮助的人:227万
展开全部
有意思,支持一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式