C++语言,MFC里CWnd有俩子类,CFrameWnd和Cview两个类的用途上的区别。 希望回答形象点,不要太抽象了。
答案:2 悬赏:50 手机版
解决时间 2021-11-27 00:14
- 提问者网友:骑士
- 2021-11-26 10:02
C++语言,MFC里CWnd有俩子类,CFrameWnd和Cview两个类的用途上的区别。 希望回答形象点,不要太抽象了。
最佳答案
- 五星知识达人网友:酒醒三更
- 2021-11-26 10:16
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楼网友:由着我着迷
- 2021-11-26 11:20
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。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯