假设一个视图是个地图,另一个视图是在VC中调用的WORD,需要把地图中的某个地方的经纬度传到WORD视图中鼠标所指的位置。希望大家帮帮我啊!我刚学VC,实在是有很多不明白的地方,希望大家指点,最好是可执行的方案,谢谢!

解决方案 »

  1.   

    这个简单,你在doc类里面定一个以变量或者自定义经纬度的结构用来记录你鼠标所点的位置的经纬度值,在view中添加一个鼠标点击事件,当点击下的时候记录数据到变量中接着传递给你的word视图,就好了!
      

  2.   

    变量如何定义要看你的经纬度数值的类型。
    你的问题主要是视图与视图之间如何交换数据,可以用文档作中转,因为视图可以用GetDocument()得到文档的指针,改变文档数据后调用文档的UpdateAllViews()通知其他视图文档数据已经改变,这时所有与该文档关联的视图的OnUpdate()都会被调用,你可以在另外的视图的OnUpdate()中检查文档中的数据。
    View1中
    CYourDocumentClass *pDoc = (CYourDocumentClass*)GetDocument;//取得文档指针
    pDoc->-----;//修改文档中的数据
    pDoc->UpdateAllViews(this);//
    这时其他视图的OnUpdate()会执行,
    View2中void View2::OnUpdate(----)
    {
        CYourDocumentClass *pDoc = (CYourDocumentClass*)GetDocument;//
        pDoc->----------//自己检查数据。
    }
    其实也可以不用UpdateAllViews和OnUpdate,因为文档可以列举与之关联的视图,好像是GetFirstView?和GetNextView?,函数名已经记不清了,如果你感兴趣可以在UpdateAllViews处设置一个断点,近去看看。