登录
首页 » VC++源码 » VC++基本鼠标操作——判断鼠标消息

VC++基本鼠标操作——判断鼠标消息

于 2022-03-19 发布 文件大小:19.76 kB
0 249
下载积分: 2 下载次数: 1

代码说明:

VC++基本鼠标操作——判断鼠标消息,操作方法:按下鼠标左键,移动鼠标即可绘制椭圆,直至释放左键!   void CBaseMouseDemoView::OnMouseMove(UINT nFlags, CPoint point)   {    if(bDrag)    {    ptUp=point;//记录鼠标的当前位置    DrawCircle();//画新圆    }    CView::OnMouseMove(nFlags, point);   }   void CBaseMouseDemoView::DrawCircle()   {    Invalidate(false);    CClientDC dc(this);//获取DC    CRect rect;    GetClientRect(rect); //获取客户窗口区域    CBrush brush(RGB(255,255,255));    dc.FillRect(rect,&brush);//填充背景色为白色    dc.Ellipse(ptDown.x,ptDown.y,ptUp.x,ptUp.y);//绘制矩形   }

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

发表评论

0 个回复

  • VC++ 限定框架窗口的大小和位置
    VC++ 限定框架窗口的大小和位置,无法移动且固定大小的SDI,用VC++编写实现这种固定窗口大小,且无法用鼠标拖动的窗口。窗口是不能改变大小的,窗口标题也不能被拖动,运行程序后,窗口的位置就已经固定,并不能移动和调整大小的操作。相关的代码:   CMenu* pTopMenu = GetSystemMenu(FALSE); //获取系统菜单   pTopMenu -> RemoveMenu(4,MF_BYPOSITION); //去除最大、最小化功能   pTopMenu -> RemoveMenu(2,MF_BYPOSITION); //去除改变尺寸功能   pTopMenu -> RemoveMenu(1,MF_BYPOSITION); //去除移动功能   if( !CFrameWnd::PreCreateWindow(cs) )    return FALSE;   //设置框架窗口的初始大小和位置   cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 4;    cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;    cs.y = cs.cy / 4;    cs.x = cs.cx / 2;   return TRUE;
    2022-06-14 00:02:23下载
    积分:1
  • VC++俄罗斯方块源码 带声音
    VC++俄罗斯方块源码 带声音,操作说明:利用键盘控制方块的移动: ↑ 方块旋转 ↓ 直接落下 ←向左移动 → 向右移动。消除行数已经超过10级,游戏结束。   游戏具体玩法:选中游戏界面的"游戏"|"游戏开始"来开始游戏,每当用方块填充完一行或者多行时,则可以消除当前这一行或者多行的方块,并得到一定积分。当方块堆放的高度超过游戏所规定的最大高度,即游戏界面最上面的边界。则认定游戏结束。开始时将要出现方块没有生成,其不能赋值给当前方块数组。   判碰撞,遇到了边界或者有其他方块档住我觉得这个方法对编写游戏很不错,碰撞检测的例子。
    2022-02-12 00:45:04下载
    积分:1
  • VC++ Win32 DLL的创建:获取最大和最小数(使用导出函数关键字)
    VC++ 创建Win32 DLL的例子附源码:获取最大和最小数(使用导出函数关键字)。编译本项目源码后,将直接在Debug目录下生成Get_Max_Min.Dll文件。   Get_Max_Min_Dll文件夹下为Win32 DLL的创建:获取最大和最小数(使用.def文件)源码。
    2023-02-27 05:35:03下载
    积分:1
  • VC++在视图中使用鼠标进行绘图操作(涂鸦)
    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);   }
    2023-04-03 12:40:04下载
    积分:1
  • VC++课程设计 背单词软件源代码
    VC++课程设计 背单词软件源代码,VC++课堂作业,在visual studio2010环境下开发的背单词程序,附有完整的源代码,程序采用文件存储信息,有单词复习,修改录,单词游戏,单词测验等功能。背单词过程中,若忘记单词,可按任意键显示正确答案。打错的词会加入错词本,为以后的练习提供纠错机会。本程序的运行需要先注册或设置用户名称,然后将记录各自的背单词情况。
    2022-10-10 05:30:03下载
    积分:1
  • 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++演示如何使用insert语句批量向数据库插入数据
    VC++演示如何使用insert语句批量向数据库插入数据,这个我感觉挺有用处吧,一般情况下,我们录入都是一条一条的,但信息量较大的时候,就需要批量插入数据了,我们可以先读取外部指定格式的文件,然后将数据转换为可插入的格式,然后使用insert批量向数据库中插入数据,有效提升工作效率。本示例测试前请先准备好数据库并连接上,否则会报错。
    2022-02-26 09:24:35下载
    积分:1
  • VC++读取AutoCAD格式的dxf文件
    VC++编程实现读取AutoCAD格式的dxf文件,打开DXF文件后,本程序可放大、缩小预览效果。可以把本程序看作是一个打开DXF文件格式的查看器。源代码中的CadIO.dll文件请放在与编译后的Exe文件同级目录下。测试程序的源代码在cadDXFLibcadlib_srcCadLibTest目录下。
    2022-07-01 21:46:50下载
    积分:1
  • VC6.0 多表分组统计查询销售数据
    VC6.0 多表分组统计销售数据,查询和统计图书的销售数量和库存数量,合理使用分组多表查询可有效提升效率,减少对数据库的查询次数,本示例就是演示如何使用分组多表查询的一个简单的例子,对于查询产品销售最、销售业绩都很方便。   提示:本源码中仅包括了VC++文件和代码,并不包括数据库,需要自己准备测试数据库。
    2023-02-05 17:45:03下载
    积分:1
  • VC++ gethostbyname获取主机名和IP地址
    VC++ 获取主机名和IP地址,也就是根据主机名获得IP地址,使用了gethostbyname函数,然后再使用addr.Format格式化获取到IP地址。具体来看以下代码获取到IP地址:   // 获得主机ip地址   struct hostent * phost;   phost = gethostbyname(szhostname);//根据主机名获得IP地址    m_strName=szhostname;   int h_length=4;   for( int j = 0; j  {    CString addr;    if( j > 0 )    str += ".";    addr.Format("%u", (unsigned int)((unsigned char*)phost->h_addr_list[0])[j]);    str += addr;   }   m_strIP=str;
    2022-11-09 11:50:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载