一个初学者的问题 我希望高手们帮帮忙 一个初学者的问题 我希望高手们帮帮忙 一个初学者的问题 我希望高手们帮帮忙 一个初学者的问题 我 如何在文档中得到一个视的对象 我是说在文档中 可以当全局的对象 而不是只在文档的一个函数中用的对象 (即是说可以在文档的构造函数中创建这个视的对象 然后再文档的任何地方都可以很简便的应用 就像一般的对象一样 )可以吗 如果的话 希望能够给出实现的代码 先送上一个初学者的感谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那就声明一个全局对象吧,在VIEW生成时,把指针指向它,就可以了,用的时候if它不是NULL就可以了,虽然这样不付合OOP思想,但要的话也是可以的,其它的方法,我加去试一下,下次在告诉你.如果条件是非要在文档的构造函数中创建它的话,可能有一点麻烦,我好久不动MFC了,回去看看吧.如果是视先生成的话,就可以在文档中声明一个变量,在文档的构造函数中给它赋值,如果是视后于文档对象生成的话,就不可以了,只能用全局变量了 你这样的编程好像有违文档-视结构的本意,文档变了就UpdateAllViews,显示都用View类处理。另外,应该是先生成文档对象,再生成视,在文档的构造函数中创建它是不可能的 那我如何将视的数据传递给文档呢 比如我要得到视的大小 在文档中又不能够用GetClientRect() 大家有办法吗 在view中GetDocument(),不就可以将视的数据传递给文档了吗? 不大明白你的意思。不过我想你可以通过得到当前视图,或者文档的指针来访问他们的成员函数和数据//当前视图:CFrameWnd* pMainFrame=(CFrameWnd*)AfxGetMainWnd();CMyView* pView=(CMyView*)pMainFrame->GetActiveView();//当前文档CFrameWnd* pMainFrame=(CFrameWnd*)AfxGetMainWnd();CMyDoc* pDoc=(CMyDoc*)pMainFrame->GetActiveDocument(); 我觉得以上各位回答的问题,都没有好好看清贴子的意思,在必须达到某些MFC做不到的事时,有违文档视结构也是没办法的办法。 一定要读候杰的深入浅出MFC,也可能是你的MFC知识不够,才提出这样的问题,我是只有违OOP原则的问题,如果是MFC提倡你去做的事,而你又违背了这个规则,这不是解决问题的办法,MFC设计得比较完善,应该可以不向你提出来的那样做这件事情 新手求教,关于error C2440 怎么在对话框中动态创建出个对话框? 为LISTCTRL的SUBITEM动态显示提示信息。 Class中的static怎解? 如何在线程函数中代用ACTIVEX对象呢? 散分过年,呵呵。 求一个 bindiocompletion 线程池实现的套接字通信例子 急,关于WTL 通视开的DOS钱龙跨平台接收是怎么搞的? 关于ACTIVEX提供的接口变量VARIANT的问题 新新手,问个极简单的问题。 对话框的创建问题
CFrameWnd* pMainFrame=(CFrameWnd*)AfxGetMainWnd();
CMyView* pView=(CMyView*)pMainFrame->GetActiveView();
//当前文档
CFrameWnd* pMainFrame=(CFrameWnd*)AfxGetMainWnd();
CMyDoc* pDoc=(CMyDoc*)pMainFrame->GetActiveDocument();