VC++6.0 MFC窗口中移动的圆
来源:互联网 发布:七上生物行知天下答案 编辑:程序博客网 时间:2024/05/21 18:59
这个例子我们创建一个MFC单文档视图窗口,在窗口屏幕上绘制一个移动的填充色为蓝色的圆。
步骤:
1、利用VC++6.0的AppWizard创建一个单文档视图,命名为MovingBall
2、在ClassWizard中找到CMovingBallView类,并双击其中的OnDraw(CDC *pDC)函数,编辑该函数:
//在该函数末尾添加如下:
SetMapMode(pDC->m_hDC,MM_HIENGLISH); //设置映射模式
pDC->SetViewportOrg(300,200); //设置坐标原点(应当是设备坐标)
pDC->SetROP2(R2_NOTXORPEN); //设置绘图方式为异或操作,即像素是由画笔和屏幕颜色的异或组成
CBrush brushBlue(RGB(0,0,255));
CBrush * poldBrush=pDC->SelectObject(&brushBlue);
CPen penRed;
penRed.CreatePen(PS_SOLID,5,RGB(255,0,0));
CPen * poldPen=pDC->SelectObject(&penRed);
CRect oldRect(-750,200,-350,-200);
CRect newRect(oldRect); //定义两个矩形并初始化
pDC->Ellipse(oldRect); //绘制圆
//利用异或操作来绘制移动的圆
while(1)
{
if(newRect.left>700)
{
break;
}
else
{
newRect.left+=10;
newRect.right+=10;
}
//删除旧圆绘制新圆并更新圆的坐标
pDC->Ellipse(oldRect);
pDC->Ellipse(newRect);
oldRect=newRect;
Sleep(50); //等待100ms
}
pDC->SelectObject(poldBrush);
pDC->SelectObject(poldPen);
运行情况:
- VC++6.0 MFC窗口中移动的圆
- MFC中无标题栏窗口的移动
- MFC中无标题栏窗口的移动
- VC++中MFC窗口对象的清除
- VC++中MFC窗口对象的清除
- VC++中MFC窗口对象的清除
- VC++中MFC窗口对象的清除
- VC++中MFC窗口对象的清除
- VC++中MFC窗口对象的清除
- (VC/MFC)禁止对话框(窗口)的大小改变和移动
- (VC/MFC)禁止对话框(窗口)的大小改变和移动
- (VC/MFC)禁止对话框(窗口)的大小改变和移动
- VC/MFC拖动窗口任意位置移动窗口
- MFC无标题栏窗口的移动
- MFC 禁止主窗口的移动
- MFC 无标题栏的窗口移动
- 隐藏窗口的方法枚举 (VC/MFC)
- VC++MFC 窗口最大化、最小化的实现
- Sicily 2386. Jollo
- 产品开关量输出 PNP NPN
- spring mvc中redirect/forward:url与拦截器的关系
- boa cgi html CGIC
- 数据结构复习-图、查找、排序
- VC++6.0 MFC窗口中移动的圆
- android LinearLayout 适配
- Dijkstra算法
- 每日一题7:二分搜索
- 简单的实现了Dijkstra,
- Python 多线程效率不高吗?
- WebRTC 入门 01 简介 II
- [积累]vector的详细使用, 包括iterator
- Dijkstra算法详解: