我在对话框上,画了一个方块之后怎么 才能删除这个方块

最牛傻蛋 2003-12-22 10:13:16
我在对话框上,画了一个方块之后怎么 才能删除这个方块
我想这样 一边添加一边删除 那样就能 形成动态的效果
别告诉我,全部填满后 删除的时候画成原来的颜色就行了!
...全文
75 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigboy2003 2003-12-22
  • 打赏
  • 举报
回复
设置绘图模式为SetROP2(R2_XORPEN),想要擦除时重新画一遍就行了
因为采用的是异或模式,相同为0,即擦除了原方块。
思危 2003-12-22
  • 打赏
  • 举报
回复
你是在OnPaint中绘的吗?

如果不是,那么调InvalidateRect重绘。
是的话就必须用原色方块的区域。但这样做会有严重的闪烁,可以考虑是用内存绘制好后BITBLT到DC上,大多数动画都是这样做的
hahu 2003-12-22
  • 打赏
  • 举报
回复
在OnPaint里面??
什么一边添加一边删除
删除的时候的确是画成原来的颜色
CGdiObject *pOldPen=dc.SelectObject(pNewPen);
每次都保存旧的GDI对象指针不是没用的
===下载后有不懂的可以私信我。==== 《VC编写俄罗斯方块游戏源码解析》 在IT领域,源码是程序员的灵魂,它揭示了软件运行的内在逻辑。本篇将深入探讨“俄罗斯方块”这一经典游戏的VC(Visual C++)源码,帮助读者理解游戏开发的核心技术。 "俄罗斯方块"是一款广受欢迎的益智游戏,起源于1984年,由俄罗斯程序员阿列克谢·帕基特诺夫设计。它的核心玩法是不同形状的方块从屏幕顶部落下,玩家需通过旋转和移动来使它们在底部形成完整的行,进而消除得分。 在VC环境下编写“俄罗斯方块”,主要涉及到以下几个关键知识点: 1. **图形界面编程**:VC中的MFC(Microsoft Foundation Classes)库提供了一套面向对象的API,用于构建Windows应用程序的用户界面。在源码中,可以看到诸如`MainFrm.cpp`、`skyblue_RectView.cpp`等文件,它们负责处理窗口和视图的创建与管理。 2. **事件驱动编程**:VC使用消息机制来处理用户的输入,如键盘事件(方块的移动和旋转)和定时器事件(方块的下落)。例如,`MainFrm.cpp`中的消息处理函数会捕获这些事件并进行相应的响应。 3. **图形渲染**:`skyblue_Rect.bmp`可能是一个背景图片,而`.clw`文件可能是类工作文件,包含了资源定义。在`skyblue_Rect.cpp`中,可能会有处理图形绘制的代码,利用GDI(Graphics Device Interface)库进行方块的显示和移动。 4. **数据结构与算法**:游戏的核心部分是方块的生成、旋转和碰撞检测,这需要用到数据结构(如二维数组表示游戏区)和算法(如方块的旋转算法,以及检查行是否被填满的算法)。 5. **文件处理**:`.aps`和`.dsp`文件是VC项目文件,它们包含了工程设置和编译信息。开发者可以从中了解项目的配置,如链接器选项、库依赖等。 6. **源码组织**:每个`.cpp`文件代表一个类的实现,比如`skyblue_Rect.cpp`可能是`skyblue_Rect`类的实现,包含游戏逻辑;`OptionDlg.cpp`可能是选项对话框的实现,允许用户调整游戏设置。 通过分析和理解这些源码,开发者不仅能学习到游戏开发的基本流程,还能掌握VC环境下图形界面编程、事件处理、图形渲染等技术。同时,这也是一个很好的实践案例,可以帮助初学者将理论知识应用到实际项目中,提升编程技能。。内容来源于网络分享,如有侵权请联系我删除

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧