CMainFrame和CView能够互相看到对方的变量是因为他们之间有关联关系。这是在你的application开始的时候,MFC自动建立了Frame, doc, view 和app四个class的关系。你如果想从CDialog中拿到CView的变量,也需要建立这种关系,当然你需要自己建立。最直接的办法就是在产生你的Cdialog object时把parent 的pointer给他 CDialog
(CDialog* pParent /*=NULL*/),这样你就可以通过pParent来寻找不同的view之中的变量了。不过如果你的Dialog是个Model的Dialog,(通过 DoModel()弹出的),他与他的Parent在信息传递上会有问题。直接拿变量应该没问题,不过想让parent 执行个什么信息再送回data就不太可行了,如果是这种情况应考虑将dialog的弹出模式换成Modeless。