MFC限制鼠标区域、画橡皮条线、任务栏显示图标、核对标记、文档背景色(二)
涛涛在学习程序设计,欢迎各位程序设计爱好者和我一起学习
限制鼠标活动区域
可以写在view类的OnMouseMove中添加如下代码
if (nFlags&&MK_LBUTTON)
{
CWnd *hwnd = GetActiveWindow();
CRect rect;
hwnd->GetWindowRect(&rect);
ClipCursor(&rect);
}
当要恢复鼠标使用范围时调用ClipCursor(NULL);即可。
还有SetCapture()和ReleaseCapture()的使用
画弹性橡皮线
在view类里响应左键单击,以及鼠标移动和左键弹起消息
鼠标移动
CClientDC dc(this);
dc.SetROP2(R2_NOT);
dc.MoveTo(oldPoint);
dc.LineTo(newPoint);
dc.MoveTo(oldPoint);
dc.LineTo(point);
newPoint = point;
左键按下只需记录坐标点,鼠标弹起只需画线。
当要画其它图形时要麻烦很多,因为在鼠标移动时要用到画刷
画矩形
if (GetCapture()==this&& nFlags && MK_LBUTTON)
{
newPen->CreatePen(PS_DASHDOT,2,RGB(250,0,0));
oldPen = dc.SelectObject(newPen);
newBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
oldBrush = dc.SelectObject(newBrush);
dc.SetROP2(R2_NOT);
dc.Rectangle(oldPoint.x,oldPoint.y,newPoint.x,newPoint.y);
dc.Rectangle(oldPoint.x,oldPoint.y,point.x,point.y);
newPoint = point;
dc.SelectObject(oldBrush); //恢复画笔
dc.SelectObject(oldPen);
}
为菜单设置核对或者选中标记
主要函数是SetCheck()打钩,SetRadio()点位标记。
在命令菜单中设置变量的值,在命令更新消息中调用pCmdUI->SetCheck(m_option==?);
m_option为当前选中的菜单的标志变量
设置文档背景颜色
在View类的OnDraw中添加以下代码:
CRect rect; //创建CRect对象
GetClientRect(rect); //获取窗口大小
pDC->FillSolidRect(rect,RGB(0,0,0)); //用RGB()来指定文档的背景颜色
欢迎访问本页面,也欢迎各位程序设计爱好者和我一起学习……
MFC限制鼠标区域、画橡皮条线、任务栏显示图标、核对标记、文档背景色(二)相关推荐
- 用python画星座_一个可以画出星座(中文标识)的jupyter文档
star-chart-CN 绘制星座(中文标识) This a simple jupyter file to plot star consterllation in Chinese. 这是一个可以画出 ...
- Windows编程与MFC # 4 单文档应用程序(1)
整理自VC++程序设计课程课件 使用VC++的应用程序向导MFC AppWizard可以开发: Single document(单文档) Multiple document(多文档) Dialog b ...
- MFC单文档项目动态绘制十字线
MFC单文档项目动态绘制十字线 因为最近的一个项目涉及到了这方面的内容,所以基于自己已学的知识,在网上搜索了许多相关的资料,这些资料各有可取之处,但相对来说比较杂散,不够凝练.在经过一番整理及代码实践 ...
- 【MFC】利用MFC向导生成单文档应用程序框架
00. 目录 文章目录 00. 目录 01. 解决方案与工程 02. 使用向导生成单文档应用程序框架 03. 预留 04. 附录 01. 解决方案与工程 每个应用程序都作为一个工程来处理,它包含了头文 ...
- html单文档编辑器,用VC++MFC做文本编辑器(单文档模式)
原来做过一个用对话框实现的文本编辑器,其实用MFC模板里面的单文档模板也可以做,甚至更加方便,适合入门级的爱好者试试,现介绍方法如下: < xmlnamespace prefix =" ...
- MFC之文档/视图结构应用程序
文档/视图结构应用程序 一.文档/视图结构分析 MFC 通过多个类提供了对程序框架的支持,使用这些类可以简单地实现文档/视图结构:其中主要包括以下五个类: 应用程序类(CWinAPP):是 MFC 程 ...
- 从多个pdf文档中截取部分区域拼接成一个pdf文档
提取合并多个pdf页面中的子区域,形成一个没有分页符的页面. 输入input:多个pdf的Rect区域 areas in pdf 输出output:一页(只是一页)完整的pdf文档 a page of ...
- 计算机word工具栏图片,在word文档中画出逼真的电脑显示器
9.用PS制作一张英文字母图片,字母设置为白色,作为电脑显示器的LOGO,把LOGO图片保存为PNG格式. 回到word文档这里,在文档上方的菜单栏中顺序点:插入--图片--来自文件: 把刚才PS弄好 ...
- mfc ccombobox鼠标移动事件_[源码和文档分享]基于MFC类库实现的飞机大战小游戏
1 概述 1.1 简介 本次实训项目是做一个飞机大战的游戏,完成一个界面简洁.操作简单的桌面游戏.该飞机大战项目主要使用的是MFC编程,运用MFC中的类以及自己创建的类,设计好各个类之间的继承关系,实 ...
最新文章
- linux下查看当前用户的 三个命令
- Saltstack Master 配置文件详解
- android仿ios弹框_在“提示”框中:iOS外观(在Android上运行),Google Maps作为Time Machine,下载Wii游戏保存...
- 巧用ActionFilter的AOP特性,为返回的数据增加返回码和消息
- linux重启鼠标键盘服务,Linux 关闭服务后 鼠标 键盘用不了
- OpenCV中用findContours函数出现的问题和解决方法
- AutoCAD2020命令提示框信息设置
- java调用python机器学习模型的坑
- 支持商用,开源的商城系统,推荐给你
- 软件测试的功能测试和性能测试,大型软件的功能测试流程及性能测试流程
- 项目中better-scroll的常用配置、插件介绍
- win10浏览器闪退_win10系统打开ie11浏览器出现闪退的两种解决方法
- 计算机辅助药物量子力学,计算机辅助药物设计(完整版).doc
- 3D 打印开源软件 cura
- 苏格拉底的最后日子――柏拉图对话集
- UIAutomatorViewer排查问题
- 我的ROS学习之路——动起来的小海龟
- 《你是我生命中最美的相遇》
- php打开excel文件,PHP读取Excel文件的简单示例
- 《途客圈创业记:不疯魔,不成活》一一2.7 愿景和使命