MFC 鼠标拖动画圆

本文介绍了如何在MFC应用程序中通过鼠标拖动来动态绘制圆。首先计算圆心和半径,然后利用Ellipse函数画出圆。在View类中添加变量并初始化,包括两个CPen对象,以及鼠标消息响应函数OnLButtonDown、OnMouseMove和OnLButtonUp。在响应函数中,使用设备上下文进行异或绘图和擦除操作,动态更新圆的位置和大小。
摘要由CSDN通过智能技术生成
先计算出圆心, 半径, 然后再根据圆心半径计算出矩形(正方形)的左上角跟右下角的顶点, 然后用Ellipse函数画圆。


源代码如下:
** view类头文件里添加如下变量
private :
    
bool  m_bLButtonDown;
       bool  m_bErase;
    CPen *  pGrayPen;
    CPen *  pLinePen;
    CPoint old_center;
    CPoint m_pStart;
     int  nRadius;


**View类构造函数添加如下初始化代码:
    pGrayPen  =   new  CPen( 0 1 , RGB( 100 100 100 ));
   
    pLinePen 
=   new  CPen( 0 1 , RGB( 250 0 0 ));


** View类为鼠标添加如下消息响应函数; 按下左键,  按下左键鼠标移动, 释放左键

//  CmfcTestView 消息处理程序

void
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值