请帮助我这个VC菜鸟?

arfu 2000-02-21 03:35:00
各位大侠:

请帮忙!

 我用vc 的AppWizard 的六步法建立了一个(MDI)应用程序框架(aaa),
 我打算在视图窗口单击鼠标,弹出对话框。

为什么在classWizard的Message Maps项中要以CaaaView为基类
映射WM_LBUTTONDOWN鼠标消息,而不在CDialog或CDocument类中
映射该消息。

以CMainFrame为基类映射该消息可以吗?
...全文
135 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengdun 2000-02-21
  • 打赏
  • 举报
回复
在CDocument或CMainFrame中响应消息都是可以的,只要在ClassWizard的Message Maps标签中的Class Name下拉框中选择你想处理该消息的类名即可。
在CDialog中是不行的,因为你的对话框是在响应了鼠标单击事件后而弹出的,此时该对话框尚不是一个有效的窗口,无法接受消息映射。
dengdun 2000-02-21
  • 打赏
  • 举报
回复
在CDocument或CMainFrame中响应消息都是可以的,只要在ClassWizard的Message Maps标签中的Class Name下拉框中选择你想处理该消息的类名即可。
在CDialog中是不行的,因为你的对话框是在响应了鼠标单击事件后而弹出的,此时该对话框尚不是一个有效的窗口,无法接受消息映射。
dengdun 2000-02-21
  • 打赏
  • 举报
回复
在CDocument或CMainFrame中响应消息都是可以的,只要在ClassWizard的Message Maps标签中的Class Name下拉框中选择你想处理该消息的类名即可。
在CDialog中是不行的,因为你的对话框是在响应了鼠标单击事件后而弹出的,此时该对话框尚不是一个有效的窗口,无法接受消息映射。
dengdun 2000-02-21
  • 打赏
  • 举报
回复
在CDocument或CMainFrame中响应消息都是可以的,只要在ClassWizard的Message Maps标签中的Class Name下拉框中选择你想处理该消息的类名即可。
在CDialog中是不行的,因为你的对话框是在响应了鼠标单击事件后而弹出的,此时该对话框尚不是一个有效的窗口,无法接受消息映射。
Gray_Bit 2000-02-21
  • 打赏
  • 举报
回复
在MFC中,主View是首先得到这个Message的,一般是默认在那个Wnd点击了,就让哪个Wnd处理.
如一定要在CDocument类中映射该消息,也可以。
同样,以CMainFrame为基类映射该消息也可以.
在CDialog中映射该消息,就不合适了,如果你的Dialog是模式的.
929 2000-02-21
  • 打赏
  • 举报
回复
在VC中采用的是文档与视图的应用程序框架处理方式。一般直接与用户打交道的是视图,也就是VIEW,因此,在程序处理上,一般都是在视图中处理一些与用户界面操作有关的操作。而在文档中处理与数据处理有关的操作。在框架窗口用CLASSWIZARD可以映射左键消息,但一般不这样处理。因为VC对于它的消息传递是有一个顺序的,具体怎样一个顺序,看看书吧,我也说不完全。
写在前面 在我还在上学的时候,我选择了C++,最初我用VC6作为我的IDE,我看过很多本C++的教材,有的适合我,有的不适合我,其中有一本叫《Visual C++ 2005入门经典》的书帮了我不少的忙。因为通常的C++教材都只会介绍C++的语法什么的,很少会告诉我们如何去编译、运行,告诉我们什么是控制台程序,什么事Win程序,什么是GUI程序,C++能干什么,VC和C++的区别是什么。现在有很多的朋友应该也有这些问题吧? 学C++用C++也有几年了,算不上熟悉,算是初窥门径吧,我想我应该做点什么帮助一下那些和曾经的我一样困惑的朋友,特别是学生朋友,告诉他们他们所困惑的问题的答案。记得我学C++的时候,没有人教,有的时候也走了不少弯路,甚至连调试也不会,也不知道可以通过看调用堆栈看调用次序,还自己慢慢的去搜索,好傻啊。 接下来我会做一个《Visual C++ 2010入门教程》系列,用来帮助初学者。刚开始学的时候是很痛苦的,这个我深有体会,特别是身边还没有人能够指导一二的。内容主要涵盖在Windows下面使用C++进行开发的常见内容,Visual Studio 2010的使用,如何创建新项目,如何调试,如果配置项目属性等等,另外还会介绍Visual C++ 2010中新加如的一些内容,包括一些新的STL组建,一些新的语法支持等等。 由于本人水平有限,其中难免有错误,希望大家谅解,如果大家有发现问题还务必及时指出来,否则误导了他人我就罪不容恕了。 注意,本教程非C++教程,不会教你C++,只会教你如何使用 Visual C++ 2010去练习去学习其它C++教材上面的程序。因此建议大家认真的去看其他的C++教程,在使用Visual C++ 2010实践的时候如果遇到问题可以到这里来参考。推荐《C++ Primer》、《C++程序设计语言》《Visual C++ 2008入门经典》

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧