首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

MFC初学者学习贴,请问CView一个函数的意义

2012-03-30 
MFC菜鸟学习贴,请教CView一个函数的意义void CDrawprView::OnMouseMove(UINT nFlags, CPoint point){if(nF

MFC菜鸟学习贴,请教CView一个函数的意义
void CDrawprView::OnMouseMove(UINT nFlags, CPoint point) 
{
if(nFlags==MK_LBUTTON)
{
CClientDC dc(this);
dc.SetPixel(point,RGB(0,0,255));
}
CView::OnMouseMove(nFlags, point);
}
Drawpr是我的工程名,这段代码定义了一个鼠标移动的事件,在屏幕上画点。这是书中的代码。
最后这句CView::OnMouseMove(nFlags, point);是什么含义呢?
多谢~

[解决办法]
那你从MFC文件夹里找相关文件啊,查看源代码,有好多跟view有关的,我试着找了一下,没找到,不知道具体在哪儿。
[解决办法]
有空你可以研究下MFC框架,也许你可能就明白了;
这里大概说一下,因为一两句实在难以说清楚:
MFC框架封装了MouseMove消息,所以这个函数OnMouseMove是虚函数,在基类里已经有默认的实现;

[解决办法]
函数OnMouseMove是虚函数,MFC框架已经进行了封装处理。如果你没有添加鼠标移动消息处理函数,那你程序运行时,所有的鼠标移动操作都将被这个MFC框架里的虚函数所响应,系统进行默认处理。现在你对该虚函数进行了重载,程序运行时,系统首先进入这个这个重载函数里处理,留下的就交给我们的MFC框架父类函数处理。通常情况我们不用关心这个,推荐你看孙鑫的VC++深入详解,讲的很透彻很适合初学者。
[解决办法]
最后那句就是调用基类的函数
[解决办法]
自己的函数处理完再调用基类的函数进行处理。

热点排行