编写一个单文档应用程序,程序启动后在用户区显示一个方形,当用鼠标左键单击用户区后,该方形会变成圆形,如果再单击则又变回方形

 

编写一个单文档应用程序,程序启动后在用户区显示一个方形,当用鼠标左键单击用户区后,该方形会变成圆形,如果再单击则又变回方形

程序设计思想:

       设置一个开关变量m_bKey ,当其值为false 时,在OnDraw函数里绘制一个矩形,当其值为true时,在OnDraw函数里绘制一个圆形;

       再定义一个成员变量m_brectRec存储矩形和圆形的尺寸

代码如下:

1.在视图View类里声明变量

public:

                    bool m_bKey;

                   CRect m_brectRec;

2.在视图类的构造函数中对成员变量初始化

CRec_CrlView : : CRec_CrlView( ) : m_brectRec( 100 , 100 , 400 , 400 )

{

           m_bKey = false;

}

3.在视图类的OnLButtonDown函数中添加代码:

void CRec_CrlView :: OnLButtonDown( UINT nFlags , CPoint point )

{

             if( m_bKey )

                   m_bKey = false;

            else

                  m_bKey = true;

           InvalidateRect( m_brectRec );

           CView :: OnLButtonDown( nFlags  , point  );

}

 

4.在视图类的OnDraw函数中添加代码:

void CRec_CrlView :: OnDraw( CDC *pDC )

{

                  CRec_CrlView *pDoc = GetDocument();

                  ASSERT_VALID( pDoc );

                 if( m_bKey )

                                    pDC->Ellipse( m_brectRec );

                 else

                                    pDC->Rectangle( m_brectRec );

}

 

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值