C++语言,MFC里CWnd有俩子类,CFrameWnd和Cview两个类的用途上的区别。 希望回答形象点,不要太抽象了。
亲,形象点吧,比如说一个写好的MFC的。exe程序他的外观上看,哪部分是属于CFrameWnd的,哪部分功能又是属于CView的呢?...
亲,形象点吧,比如说一个写好的MFC的。exe程序他的外观上看,哪部分是属于CFrameWnd的,哪部分功能又是属于CView的呢?
展开
2个回答
展开全部
1:早餐买过包子吧?
CView就是你看到放前台的包子,是界面。
FrameWnd就是买包子的人,是控制的人。
另外还有CDocument,就是蒸笼里的包子,属于数据。
你看得到的包子(CView),是卖包子的人(Framewnd)从蒸笼(CDocument)中拿出来的。
你买早餐看到的包子(界面)是CView,
你看不见蒸笼里的包子CDocument。
你还能看到递给你包子的人(逻辑)Framewnd。
2: 一个界面上有一个按钮。这个按钮的作用是点击它,它读取文件的名字,并显示到界面
你看到的这个按钮:view。
你点击按钮,弹出文件名字。CFrameWnd拿去文件名,然后再告诉CView显示文件名。
CView就是你看到放前台的包子,是界面。
FrameWnd就是买包子的人,是控制的人。
另外还有CDocument,就是蒸笼里的包子,属于数据。
你看得到的包子(CView),是卖包子的人(Framewnd)从蒸笼(CDocument)中拿出来的。
你买早餐看到的包子(界面)是CView,
你看不见蒸笼里的包子CDocument。
你还能看到递给你包子的人(逻辑)Framewnd。
2: 一个界面上有一个按钮。这个按钮的作用是点击它,它读取文件的名字,并显示到界面
你看到的这个按钮:view。
你点击按钮,弹出文件名字。CFrameWnd拿去文件名,然后再告诉CView显示文件名。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、CFrameWnd访问CDocument
CFameWnd::GetActiveDocument()能访问到和框架关联的CDocument对象。
2、CDocument访问CView
这里给出范例
CDocument doc;
...
POSITION pos = doc.GetFirstViewPosition();
while (pos != NULL)
{
CView* pView = doc.GetNextView(pos);
}
3、CView访问CDocument
用CView::GetDocument()即可。
4、CView访问CFrameWnd
用继承自CWnd的GetParent().
5、CDocument访问CFrameWnd
通过先获得CView,再获取其父窗口。即结合2、4。
6、CFrameWnd访问CView
通过先获得CDocument,在获取CView。即结合1、2。
CFameWnd::GetActiveDocument()能访问到和框架关联的CDocument对象。
2、CDocument访问CView
这里给出范例
CDocument doc;
...
POSITION pos = doc.GetFirstViewPosition();
while (pos != NULL)
{
CView* pView = doc.GetNextView(pos);
}
3、CView访问CDocument
用CView::GetDocument()即可。
4、CView访问CFrameWnd
用继承自CWnd的GetParent().
5、CDocument访问CFrameWnd
通过先获得CView,再获取其父窗口。即结合2、4。
6、CFrameWnd访问CView
通过先获得CDocument,在获取CView。即结合1、2。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询