MFC 基于单文档实现矩形选框
来源:互联网 发布:聚划算 淘宝 编辑:程序博客网 时间:2024/06/05 03:14
- 环境:VS2010
添加消息响应
在MFC Class Wizard 中,选择CyourView类中添加消息相应,鼠标左键按下,鼠标左键抬起,鼠标移动3个消息相应
代码
消息响应
void CrectView::OnLButtonDown(UINT nFlags, CPoint point){ // TODO: 在此添加消息处理程序代码和/或调用默认值 Invalidate(); m_startRect = TRUE; //鼠标左键单击,设置可以开始绘制矩形框 m_startPoint = point; //记录开始点 m_OldPoint = point; //设置老点也为开始点 CClientDC dc(this); InvalidateRect(NULL,true); UpdateWindow(); CView::OnLButtonDown(nFlags, point);}void CrectView::OnLButtonUp(UINT nFlags, CPoint point){ // TODO: 在此添加消息处理程序代码和/或调用默认值 m_startRect = FALSE; //重置绘制矩形框标志 CClientDC dc(this); OnPrepareDC(&dc); dc.DPtoLP(&m_OldPoint); dc.DPtoLP(&m_startPoint); dc.SetROP2(R2_NOT); //消隐最后的一个矩形(其原理跟拖动时矩形框绘制原理相同) dc.SelectStockObject(NULL_BRUSH); dc.Rectangle(CRect(m_startPoint,m_OldPoint)); //dc.Rectangle(CRect(m_startPoint,m_OldPoint));如果想把矩形留下来加上这句代码 CView::OnLButtonUp(nFlags, point);}void CrectView::OnMouseMove(UINT nFlags, CPoint point){ // TODO: 在此添加消息处理程序代码和/或调用默认值 CClientDC dc(this); //获取设备句柄 dc.SetROP2(R2_NOT); //关键 dc.SelectStockObject(NULL_BRUSH); //不使用画刷 if (TRUE == m_startRect) //根据是否有单击判断是否可以画矩形 { dc.Rectangle(CRect(m_startPoint,m_OldPoint)); dc.Rectangle(CRect(m_startPoint,point)); m_OldPoint = point; } CView::OnMouseMove(nFlags, point);}
变量
可在在MFC Class Wizard 中,选择CyourView类中添加3个变量,也可以直接在CyourView的头文件中直接添加如下代码
public: CPoint m_startPoint; //矩形框开始点 CPoint m_OldPoint; //矩形框终点(但是它是上一次的点,所以这里用了Old标识) bool m_startRect; //绘制矩形框标志
阅读全文
0 0
- MFC 基于单文档实现矩形选框
- MFC基于单文档菜单栏调用对话框的实现
- 基于MFC单文档的PCL显示
- MFC基于单文档分割窗口
- VC/MFC 俄罗斯方块双人版(基于MFC单文档)
- MFC 单文档工程 实现单文档多视图
- MFC应用程序类型:单文档、多文档与基于对话框
- 基于MFC的单文档,多文档,对话框应用程序
- 【MFC】应用程序类型:单文档、多文档与基于对话框
- [Windows]MFC单文档实现菜单切换
- MFC+OpenGL单文档实现图形旋转
- OpenGL MFC单文档 实现轨迹球
- MFC单文档之基于MSCOMM的多个编辑框的串口通讯
- MFC基于单文档分割视图后子窗口点击编辑框获得相应的操作
- MFC基于单文档中,怎么加工具条?
- 修改基于formView的MFC单文档背景颜色
- MFC基于单文档制作吹彩色泡泡程序
- 基于MFC单文档程序的CheckBox运用
- 使用java自带的java.util.logging创建日志类,支持保存日志到文件和mysql
- CentOS7下安装GitLab
- ios 简单系统提示音
- 方法改造
- 捕获java反射执行方法抛出的异常
- MFC 基于单文档实现矩形选框
- linux环境下批量删除SVN未加入版本控制的文件
- JS中三种字符串连接方式及其性能比较
- 使用Sqoop把Oracle表导入Hive
- jquery效果
- CODEFORCE #405 div1 a
- tomcat启动加载web项目内存溢出
- C# 高级编程 chapter1
- PHP安全编程