给自己加油说什么,英语:拜托了,我真的需要知道,如CMainFrame 与 CView的区别

来源:百度文库 编辑:高校问答 时间:2024/04/28 03:31:31
在CMainFrame中添加WM_KEYDOWN的消息映射,添加代码功能,运行时不能在对话框中显示"方向键已按下!"的一个对话框。而在CEx_MySDIView类添加WM_KEYDOWN的消息映射,,运行后,按下任意一个方向键时,能弹出用来显示“方向键已按下!“的一个对话框。请哥哥姐姐告诉我为什么会出现这现象,它们有什么区别,拜托啦谢谢了

CView连窗口都不是, 只是一个窗口的客户端,

而CMainFrame 似乎也不是一个窗口, 只是一个没有客户端区域的窗口框架

MFC包装了这些东西

CMainFrame 是从CWnd派生出来的,主要用于定义主窗的属性(例如工具条,状态条),如何建一个窗,如何删一个窗。

MFC程序一般用Doc-View结构,CDoc控制数据输入输出,CView用于数据显示画图。抓取和处理鼠标和键盘键输入。程序的主要功能部分都写在CView里。

估计,如果采用Doc-View结构,CMainFrame只在建窗删窗时被调用,以致WM_KEYDOWN好像无反应。[这是我的猜测]。

。。。你知道“活动窗口”和“输入焦点”这两个东西吗?。。只有由输入焦点的窗口才能接收键盘鼠标输入。。就像你先打开一个 word文档1,在打开一个word文档2,你在word2里无论增么按键盘 都不会把文字输入到 word1里。。。输入焦点。。框架窗口有吗?。。SDIwiew肯定有。。
注意,验证无误后。。请奖励。。20金币。。谢谢