登录
首页 » VC++源码 » VC++在视图中使用鼠标进行绘图操作(涂鸦)

VC++在视图中使用鼠标进行绘图操作(涂鸦)

于 2023-04-03 发布 文件大小:20.71 kB
0 187
下载积分: 2 下载次数: 1

代码说明:

VC++ ——在视图中使用鼠标进行绘图操作(涂鸦),按下鼠标左键,载入"十字"光标,移动鼠标即可实现绘制图形,但窗口不能自动重绘,定义各变量及具体实现:   void CBaseDocViewDemo1View::OnLButtonDown(UINT nFlags, CPoint point)   {    SetCursor(m_Hcursor);//使用新光标    m_bDraw=TRUE;//进入绘图状态    m_pOld=point;    SetCapture();//捕捉鼠标    CRect rect;    GetClientRect(&rect);//获取客户窗口矩形区域    ClientToScreen(&rect);//转换为屏幕坐标    ClipCursor(rect);//限定鼠标不能移出客户窗口    CView::OnLButtonDown(nFlags, point);   }      void CBaseDocViewDemo1View::OnLButtonUp(UINT nFlags, CPoint point)   {    m_bDraw=FALSE;//取消绘图状态    ReleaseCapture();//释放鼠标捕捉    ClipCursor(NULL);//取消鼠标区域的限制    CView::OnLButtonUp(nFlags, point);   }

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC++ 6.0 实现选中项缩进的列表框
    VC++ 6.0 实现选中项缩进的列表框,选中列表项后,该项缩进,文本显示为红色,自定义列表框控件,注意观察选中后的特性,重载控件的DrawItem函数。下面来看实现这一功能的代码段:   dc.Attach(lpDrawItemStruct->hDC);//获取列表框的DC   CRect rect(lpDrawItemStruct->rcItem);//获取列表框的矩形区域   COLORREF bk = dc.GetBkColor();//背景颜色   COLORREF fg = dc.GetTextColor();//系统文本颜色   if(lpDrawItemStruct->itemState & ODS_SELECTED)//该项被选中   {    bk = RGB(180,180,0 );//背景颜色    fg = RGB(255,0,0 );//红色文本   }   dc.SetTextColor(fg);   CBrush brush(bk);   dc.FillRect(&rect,&brush);   if (lpDrawItemStruct->itemState&ODS_SELECTED)   rect.left +=25;//缩进25个象素   int nBkMode = dc.SetBkMode( TRANSPARENT );   CString str;   GetText(lpDrawItemStruct->itemID,str) ;   dc.DrawText(str, &rect, DT_LEFT|DT_VCENTER);//显示文本   dc.SetTextColor(fg);   dc.SetBkMode( nBkMode );   dc.Detach() ;
    2022-06-13 09:32:23下载
    积分:1
  • VC++ 音频编程:一款简洁实用的Mp3播放器
    VC++ 音频编程:一款简洁实用的Mp3播放器源代码,只是实现基本的MP3文件播放、暂停、音量控制等功能,界面采用的传统窗体风格,核心代码在下载本源码后,可参考Mp3PlayerDlg.cpp文件,运行效果如图所示。
    2023-08-24 23:00:04下载
    积分:1
  • VC++ 6.0 弹球游戏&打砖块
    PenBall游戏源代码,VC++ 6.0 编写开发的弹球游戏&打砖块源代码,这个游戏的叫法很多了,有人叫做乒乓球游戏,有的叫“撞球游戏”,这里被称为弹球游戏和打砖块游戏,不管叫做么吧,大家一看到运行截图就明白了是什么游戏。这款撞球游戏分为三关,第三关是最难的,还有音效,操作挺方便,球拍自动跟随鼠标移动,运动自如。分享本源码主要是让大家参考一些从游戏中剥离出来的技巧,比如控制对象移动、碰撞检测反弹等,可用于其它的VC++开发项目中。
    2022-08-13 12:20:23下载
    积分:1
  • VC++俄罗斯方块 带声音
    VC++俄罗斯方块源码 带声音,操作说明:利用键盘控制方块的移动: ↑ 方块旋转 ↓ 直接落下 ←向左移动 → 向右移动。消除行数已经超过10级,游戏结束。   游戏具体玩法:选中游戏界面的"游戏"|"游戏开始"来开始游戏,每当用方块填充完一行或者多行时,则可以消除当前这一行或者多行的方块,并得到一定积分。当方块堆放的高度超过游戏所规定的最大高度,即游戏界面最上面的边界。则认定游戏结束。开始时将要出现方块没有生成,其不能赋值给当前方块数组。   判碰撞,遇到了边界或者有其他方块档住我觉得这个方法对编写游戏很不错,碰撞检测的例子。
    2022-02-12 00:45:04下载
    积分:1
  • VC++ ado 登录模块实现范例
    VC++ ado 登录模块实现范例,因为使用ADO模块,所以要先初始化COM组件库,然后调用ADO库连接数据库,读取用户名密码是否与数据库的相符,相符则登录成功,不相符则弹出提示信息。本源码比较简单,演示了基本的基于数据库的用户名和密码判断程序,面向VC++初学者吧。
    2023-03-17 05:10:03下载
    积分:1
  • VC++ MFC绘图打印技术范例
    VC++ 6.0 基于MFC的绘图及打印技术实例,附上了完整源码,打开程序后,可单击“测试”按钮,弹出绘图设置窗口,设置好参数绘图,然后打印出数据。方法步骤:   //创建画笔C++对象   CPen* pPenBlue = new CPen;   //创建画笔   pPenBlue->CreatePen(PS_SOLID,pDoc->m_thick,pDoc->m_color);   //选中当前画笔,并保存以前的画笔   CPen* pOldPen = pDC->SelectObject(pPenBlue);   POSITION posi=pDoc->m_PointList.GetHeadPosition();   while(posi)   {    CPoint point(pDoc->m_PointList.GetNext(posi));    pDC->Ellipse(point.x,point.y,point.x+    pDoc->m_long,point.y+pDoc->m_short);   }   //恢复旧画笔   pDC->SelectObject(pOldPen);   //删除新建的画笔对象   delete pPenBlue;   //设置映射模式   pDC->SetMapMode(MM_ANISOTROPIC);   CSize winSize = CSize(1024, 768);   //设定窗口大小   pDC->SetWindowExt(winSize);   //得到实际设备每逻辑英寸的象素数量   int xLogPixPerInch,yLogPixPerInch;   xLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSX);   yLogPixPerInch=pDC->GetDeviceCaps(LOGPIXELSY);   //得到设备坐标和逻辑坐标的比例   int xExt,yExt;   xExt=winSize.cx*xLogPixPerInch/96;   yExt=winSize.cy*yLogPixPerInch/96;   //设定视口大小   pDC->SetViewportExt(xExt,yExt);
    2022-01-25 14:09:09下载
    积分:1
  • VC++ ChatRoom聊天室(客户端+服务端)
    VC++ 聊天室(客户端+服务端),CS架构的ChatRoom聊天源码,服务端用来创建公共的聊天服务,比如创建用户列表、显示聊天消息、监控用户数量和在线人数;客户端是提供给用户使用的真正聊天程序,可完成大部分的聊天操作,比如发送聊天内容、选择私聊对象、查看聊天黑名单、设置加密传输消息、设置加密密钥、密文、选择发送表情、自定义昵称等功能。聊天窗口通过调主对话框的成员函数GetMessage来显示聊天信息,当用户数增加时,播放欢迎音乐,当用户数减少时播放离开音乐。   源代码部分,请参照源码目录中命名的文件夹,查看对应功能。
    2022-03-02 10:15:20下载
    积分:1
  • VC++ 6.0 演示如何获取打印份数
    VC++ 6.0 演示如何获取打印份数,这个功能在平时的打印操作中,几乎每次都要设置一下,要不然打印机按打印一份处理,本程序可设置打印份数,将参数传递给打印机,一次可打印多份文档,代码超简单,有兴趣下载源码学习。
    2022-03-24 22:43:51下载
    积分:1
  • VC++ 6.0 定时关机
    VC++ 6.0 定时关机,设置时间,自动关机,时间以分钟计,在确定使用本功能前,请确保保存当前工作,系统将于设定的时间到达后自动关机。
    2022-02-04 23:31:44下载
    积分:1
  • VC 6.0 示波器
    一个漂亮的VC++示波器生成类附源码实例,美观实用,如果你在编写一款采样软件,那么这个示例或许对你很有用,另附上一个示例代码,希望对大家有所帮助。该类提供了一些方法可供调用,比较方便。如果要显示采集到的数据,只要简单的调用就可以了。
    2022-10-20 06:05:04下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载