永发信息网

C++语言,MFC里CWnd有俩子类,CFrameWnd和Cview两个类的用途上的区别。 希望回答形象点,不要太抽象了。

答案:2  悬赏:50  手机版
解决时间 2021-11-27 00:14
C++语言,MFC里CWnd有俩子类,CFrameWnd和Cview两个类的用途上的区别。 希望回答形象点,不要太抽象了。
最佳答案
1:早餐买过包子吧?
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。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
夹江一中五班2017年中考成绩晨曦
Windows下如何用putty连接Amazon EC2
欢乐干线的门票信息
急求长身高的方法,要实用有效、又快的方法!
蓝海上榜菜 利津水煎包地址
请用线把每个点连起来。不能斜线,不能重复,
碧澜净水机多少钱一台
《待坐章》中,孔子何以「哂子路」?
农历1994年2月30日出生的是什么星座啊?
求黑界处关系,处对象的广词。谢谢
中华全国青年联合会的会员团体
听说 用钱宝 催款骂人很厉害,是不是真的
上海高机生物工程有限公司怎么样?
十九月亮八分圆,七个秀才六根弦,五更四点鸡三
生肉怎么弄看起很红
推荐资讯
现代ix35能加装尾翼吗
东风起亚低配置多少钱?
求nature natural用来修饰名词的区别?
请大师用风水学帮我分析一下下面的12号楼蝶形
chinaman和chinese有什么区别
川菜中的几个新品的做法
15和25的最小公倍数是多少
1、北京看全国都是基层;2、上海看全国都是乡
硕方标牌机输入字符间距大怎么办
已知a²+2a-1=0,b的四次方-2b²=0,且
绝命毒师里汉克死了以后老白还要杀小粉,为什
湖水绿得像什么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?