`
桔红糕
  • 浏览: 42519 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

俄罗斯方块(五)画底板

    博客分类:
  • CPP
阅读更多

至此为止,我们已经把自己的Panel整合入Windows的应用程序中了。接下来,我们对Panel进行底色的涂刷。

前两节说过,因为Panel继承自CWnd,所以它现在可以接受windows的显示消息了。

 

在类视图窗口中选中Panel类,在属性窗口中点选消息按钮,可以看到所有的Windows消息。找到WM_PAINT消息,添加对应的处理函数 OnPaint。

 

然后就要用到MFC的GDI的一些类来画图了。

最重要的是C***DC(Device Context)类。其实可以把DC想象成是画板,所有的画图操作都要通过画板来完成。

DC类提供了很多画图方法,drawIcon, fillRect等等。

还有一些其他对象,CBitmap, CBrush, CFont,CPen等,可以用来画出不同的字体,或颜色。

 

我们简单给Panel刷个灰的底色:

void Panel::OnPaint()
{
	CPaintDC dc(this); // device context for painting	

	CRect rect;
	this->GetClientRect(rect);
	CBrush brushbg( RGB(125,125,125) );
	dc.FillRect(rect,& brushbg);
 

这里面还有一个GetClientRect的方法,这是CWnd的一个方法。可以得到当前窗口对象的内部大小

我们Panel的构建实在Dlg.h文件里面有一句  Panel m_Panel;来实现的。

创建的时候并没有设定窗体大小。

因为Panel是跟资源中IDC_PANEL捆绑在一起的。所以创建完成后,Dlg会自动按照IDC_PANEL的大小设定Panel.

这样,我们只需要通过GetClientRect的方法,就可以得到Panel实际的的大小尺寸了。

Rect其实就是Rectangle的缩写,里面保存着上下左右位置信息。

 

好了,运行一下代码,可以看到原来放Static Text的地方成了灰色的一块。OK!

  • 大小: 87.9 KB
分享到:
评论

相关推荐

    python基于pygame的俄罗斯方块小游戏源码.zip

    python基于pygame的俄罗斯方块小游戏源码。python基于pygame的俄罗斯方块小游戏源码。python基于pygame的俄罗斯方块小游戏源码。python基于pygame的俄罗斯方块小游戏源码。python基于pygame的俄罗斯方块小游戏源码。...

    俄罗斯方块(C语言版) 俄罗斯方块

    【俄罗斯方块(C语言版) 俄罗斯方块】是一个基于C语言实现的经典游戏项目,它将编程技术与游戏设计巧妙结合,展示了C语言在创建交互式程序方面的潜力。在这个项目中,开发者利用C语言的基本结构,如循环、条件语句...

    C#俄罗斯方块绘图实现方式

    在绘图方面,我们需要根据当前方块的位置和形状,使用Graphics对象的DrawRectangle方法画出每个单元格。颜色可以是预先定义好的,也可以根据游戏状态(如即将消除的行)进行动态变化。同时,为了提供视觉反馈,我们...

    c语言俄罗斯方块完整源码

    c语言俄罗斯方块完整源码 c语言俄罗斯方块完整源码 c语言俄罗斯方块完整源码 c语言俄罗斯方块完整源码 c语言俄罗斯方块完整源码 c语言俄罗斯方块完整源码 c语言俄罗斯方块完整源码 c语言俄罗斯方块完整源码 c语言...

    俄罗斯方块 c# 俄罗斯方块

    顶下俄罗斯方块 c#俄罗斯方块 c#俄罗斯方块 c#顶下俄罗斯方块 c#俄罗斯方块 c#俄罗斯方块 c#顶下俄罗斯方块 c#俄罗斯方块 c#俄罗斯方块 c#顶下俄罗斯方块 c#俄罗斯方块 c#俄罗斯方块 c#

    C#俄罗斯方块(winform)

    C#俄罗斯方块(winform)C#俄罗斯方块(winform)C#俄罗斯方块(winform)C#俄罗斯方块(winform)C#俄罗斯方块(winform)C#俄罗斯方块(winform)C#俄罗斯方块(winform)

    java编的俄罗斯方块

    好游戏java编的俄罗斯方块好游戏java编的俄罗斯方块好游戏java编的俄罗斯方块好游戏java编的俄罗斯方块好游戏java编的俄罗斯方块好游戏java编的俄罗斯方块好游戏java编的俄罗斯方块好游戏java编的俄罗斯方块好游戏...

    俄罗斯方块五合一单机版

    8. **离线娱乐**:由于是单机版,该版本的《俄罗斯方块五合一》无需互联网连接,玩家可以在任何时间、任何地点享受游戏,特别是在没有网络环境时,它是打发时间的绝佳选择。 总之,《俄罗斯方块五合一单机版》以其...

    基于强化学习的AI俄罗斯方块

    基于强化学习的AI俄罗斯方块基于强化学习的AI俄罗斯方块基于强化学习的AI俄罗斯方块基于强化学习的AI俄罗斯方块基于强化学习的AI俄罗斯方块基于强化学习的AI俄罗斯方块基于强化学习的AI俄罗斯方块基于强化学习的AI...

    俄罗斯方块C语言报告

    ### 俄罗斯方块C语言程序设计报告 #### 一、问题描述 俄罗斯方块(俄文:Тетрис)是一款经典的益智类游戏,最初由苏联程序员阿列克谢·帕基特诺夫于1984年开发。游戏的目标是通过移动、旋转屏幕上的方块,...

    java毕业设计——俄罗斯方块项目(论文+答辩PPT+源代码+数据库+讲解视频).zip

    java毕业设计——俄罗斯方块项目(论文+答辩PPT+源代码+数据库+讲解视频).zip java毕业设计——俄罗斯方块项目(论文+答辩PPT+源代码+数据库+讲解视频).zip java毕业设计——俄罗斯方块项目(论文+答辩PPT+源代码+...

    Cocos开发微信小游戏俄罗斯方块源码

    在本文中,我们将深入探讨如何使用Cocos框架开发微信小游戏,特别是以经典的“俄罗斯方块”为例。Cocos是一款强大的2D游戏开发引擎,而微信小游戏则是腾讯为微信用户提供的一个轻量级游戏平台,它允许开发者利用...

    VC可视化俄罗斯方块源码

    俄罗斯方块是我大学一年级刚学VC++时的课程设计,当时的课程设计有三种,单文档、多文档和俄罗斯方块。我选择俄罗斯方块,就是因为它是游戏。 之前我是玩过俄罗斯方块的,一种是单人的(单人版),一种是两人对战的...

    俄罗斯方块游戏-JAVA实现(含双人联机对战).zip

    俄罗斯方块游戏--JAVA实现(含双人联机对战).zip 俄罗斯方块游戏--JAVA实现(含双人联机对战).zip 俄罗斯方块游戏--JAVA实现(含双人联机对战).zip 俄罗斯方块游戏--JAVA实现(含双人联机对战).zip 俄罗斯方块...

    PSP俄罗斯方块.iso

    PSP俄罗斯方块.iso

    俄罗斯方块C++源代码

    《俄罗斯方块C++源代码解析》 在编程领域,经典游戏俄罗斯方块是一个极好的学习案例,它涉及到了基础的图形界面设计、事件处理、数据结构和算法等多个知识点。本篇文章将对“俄罗斯方块C++源代码”进行深入剖析,...

    SCRATCH版3D俄罗斯方块

    使用SCRATCH开发的3D版俄罗斯方块

    flash俄罗斯方块源代码

    《深入解析Flash俄罗斯方块源代码》 在游戏开发领域,经典的俄罗斯方块以其独特的玩法和无尽的挑战性,始终吸引着众多开发者去实现。本篇将详细探讨一款使用Flash技术编写的俄罗斯方块源代码,帮助你理解并学习...

    MFC编写的俄罗斯方块

    《MFC编写的俄罗斯方块》是一款利用Microsoft Foundation Classes (MFC)库开发的经典小游戏,它结合了声音效果和用户友好的图形界面,为玩家提供了一种沉浸式的游戏体验。MFC是微软提供的一个C++类库,它使得开发者...

    俄罗斯方块 俄罗斯方块.rar

    《俄罗斯方块》是一款经典的游戏,自1984年首次发布以来,就深受全球玩家喜爱。这款游戏由苏联程序员阿列克谢·帕基特诺夫设计,因其简单易上手的操作和无穷无尽的挑战性,成为了电子游戏史上的里程碑。在本文中,...

Global site tag (gtag.js) - Google Analytics