VC++ MFC view类中添加鼠标响应
来源:互联网 发布:淘宝系统如何查假货 编辑:程序博客网 时间:2024/05/21 17:57
注释宏中间的内容显示为灰色。
建立MFC时,view类是覆盖在框架类窗口之上的。在建立的窗口上的所有显示都是在view类之上的,因此在处理消息响应时应该在
view类中进行处理。
MFC消息映射的机制,与实现原理?
消息映射就是建立一个消息和函数的对应表,当收到消息时查找表,如果表中有相应的消息,就将消息交给相应的函数处理。
通俗点讲,消息映射表就是一个记录了消息号和相应处理函数的数组。当然表中还有其他信息,这里先说矛盾的主要方面了。其中消
息映射表中的每个元素都是一个结构体变量,他的成员很多,最主要的就是消息号和相对应的消息处理函数。
关于消息映射表的查找,是通过虚函数实现的,通过父类的虚函数查找父类及其层层子类定义的消息映射表。如果找不到,就交给默
认的窗口处理函数处理。 如果一个类的消息映射表中定义了一个消息处理,那么就不再继续查找子类或者子类的子类,从而实现了
覆盖。
CDC类包含画图函数。CDC类还包含一个子类CClientDC,此类不需要显示调用GetDC和ReleaseDC,分别在构造和析构时调用.CDC类还包
含另一个子类CWindowDC,此类也不需要显式调用GetDC和ReleaseDC,此类可以在非客户区域画图。
//画一条直线示例
void CTestMFCView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//MessageBox("view click!");
m_ptOrigin = point;
CView::OnLButtonDown(nFlags, point);
}
void CTestMFCView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
/*HDC hdc;
hdc = ::GetDC(m_hWnd);
MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);
LineTo(hdc,point.x,point.y);
::ReleaseDC(m_hWnd,hdc);*/
/*CDC *pDC = GetDC();
pDC->MoveTo(m_ptOrigin);
pDC->LineTo(point);
ReleaseDC(pDC);*/
/*CClientDC dc(this);
//CClientDC dc(GetParent());
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);*/
//CWindowDC dc(this);
//CWindowDC dc(GetParent());
/*CWindowDC dc(GetDesktopWindow());
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);*/
CView::OnLButtonUp(nFlags, point);
}
- VC++ MFC view类中添加鼠标响应
- VC/MFC 在对话框中添加菜单栏并响应
- MFC为静态文本框添加鼠标响应
- [MFC] 对话框添加鼠标事件响应
- MFC对话框添加菜单栏并添加鼠标单击响应
- MFC View类响应ON_UPDATE_COMMAND_UI
- vc中响应键盘和鼠标事件 .
- MFC:如何使用Boost.Signal2在Document-View结构中添加事件响应机制
- vc/mfc中添加快捷键
- MFC对话框添加菜单及鼠标响应事件步骤详解
- mfc 垂直滚动条添加,并响应鼠标滑轮消息
- 在VC/MFC中响应键盘按键
- 在VC/MFC中响应键盘按键
- 在VC/MFC中响应键盘按键
- 在VC/MFC中响应键盘按键
- 在VC/MFC中响应键盘按键
- 在VC/MFC中响应键盘按键
- MFC鼠标响应、鼠标画线
- Winsock Select模型范例
- 用Expect来做Linux程序测试
- DM9000
- jquery使用心得---杂+完美级联
- java加密 解密 程序实现
- VC++ MFC view类中添加鼠标响应
- 《妙解Hibernate 3.X》读书笔记一-Hibernate概述及环境搭建
- red hat学习:安装过程
- RHEL6:环境变量文件位置
- Eclipse中JAVA项目的打包
- MO加密后的擦除问题 LPC1114
- PostgreSQL备份与恢复示例
- 利用Socket实现C++与Flex通信
- 在函数内部获得函数入口地址的方法