单击按钮,即可创建个默认名称为的位图资源,并在集成开发环境右边的代码编辑区中打开位图编辑器。可以利用编辑器右边的调色板和绘图工具来编辑位图资源,还可以通过拉伸位图编辑器中网格周围的蓝色方点来调整位图的大小。在透明画刷程序中,我们利用这个函数来获取个黑色或白色的画刷句柄。这个函数是否能够获得个透明画刷句柄呢从提供的帮助信息中,可以看到该函数的参数取值之可以是,以获取个空画刷。那么,这个空画刷是否就是我们所需要的透明画刷呢结论是正确的。但这时存在个问题,我们获取的是句柄,而在进行绘制操作时需要的是个画刷对象。如何从画刷句柄转换为画刷对象呢类提供了个函数来实现这样的功能。该函数的声明如下设置对话框韩伟肖越为程序添加个设置对话框,允许用户指定画笔的类型线宽,并让随后的绘图操作就使用用户指定的新设置值来进行绘制。为了实现这功能,首先需要为程序添加个对话框资源,并按下表修改属性。属性值宋体设置线型线宽对话框的代码如下颜色韩伟肖越颜色对话框看起来比较复杂。实际上,为我们提供了个类,可以很方便面向对象是等待你的指令才往下走,是被动的编程语言。这点是学习前必须扭转的概念。通过这次学年设计,我了解是平台上的编程环境,学习要了解很多平台的特性并且还要掌握等的知识,难度比较大。下编程需要了解的消息机制以及回调函数的原理是的包装类,需要理解文档视图类的结构,窗口类的结构,消息流向等等是代码共享的二进制标准,需要掌握其基本原理等等。基于我们这次用编写了个简单的画图板,功能不是很多,但是从中的到不少收获。主要有对项目和文档的了解,我们在编写程序时,要对不同的文件进行编写。其中项目就是文件的集合,包括头文件源代码文件资源文件。文档窗口也称编辑窗口,是用户进行输入或编辑头文件源文件资源的区域。在编辑文件时,为了增加程序的可读性,系统用绿色显示注释语句,用蓝色显示关键字。菜单我们绘制画图板时,就要建立个绘图菜单。对于绘图菜单下还有几个子菜单项,通过建立菜单同时让它实现菜单上的命令,这就要我们对每个菜单项进行设置,诸如,标题快捷键热键等。还有些属性设置,设置不好,容易出错,所以每次建立菜单,都需谨慎设置,记住每个菜单对应的参数。文件打开与保存,对于我们绘制出幅图片,那么我们就要把它保存下来。如果我们无法保存,我们做了也就没没什么意义了。对于图形的保存于打开,我们还存在很多问题,自定义保存不同文件夹下尚未解决,所以还需要我们进步的学习和了解,争取实现我们心里多希望的。在编程时遇到了图像在变换大小时,原来的图形会消失,后来通过查看相关资料,这里涉及的个重绘问题。经过多次修改,添加代码,才得以解决。所以我觉得学习就要拿出那种坚持不懈的精神,做什么也是,只有你不放弃对它了解,才会实现我们自己想要的,这就要我们要不断的学习,从中学习更多我们没了解到的知识。对于视图,经过查询主要是负责内存数据与用户的交互。包括数据的显示用户操作的响应如菜单的选取鼠标的响应。最重要的是重画窗口,通常用来启动它。另外,它通过消息映射表处理菜单工具条快捷键和其他用户消息。最后通过学习,从中受益匪浅,更多的知识,还有待于我们去挖掘实现更多有趣的东西,同样它也是个很强大的软件。的创建这样的个颜色对话框。打开与保存运行结果运行结果如图图图图结论其实学任何种语言都是样的。需要勤奋毅力运气成功,这是我认为的个公式。这里毅力和勤奋是个人因素,而运气这是先天的。如果以前没有接触过编程语言的话,在接触前我建议你先学习些基础语言,比如等都是些比较好学的基础语言,我当初就是从语言过度学的。学基础语言的目的是学习语法结构和如何编写概念,只有你理解和掌握了这些编程用的工具才能学习高级语言。这些基础语言中我建议大家学语言,其实就是也就是语言的儿子父亲学习起来比较容易上手,但遇到类似的程序的时候比较固执不容易沟通,在这种条件下才有了儿子儿子比较开朗应变能力强,但是就因为他这些优点才使初学者难以掌握。是语言,是种面向对象的编程语言。他于基础语言不同点在于,基础语言是条路走到底的中断技术除外,而菜单项时,调用函数绘制个椭圆。连续线和扇形的绘制周峰谢程焜系统为我们提供了个画图程序,在该程序中,利用画笔可以绘制连续的线条,下面我们设计绘制连续线和扇形。为了绘制连续的线条,首先要得到线条的起点,这在前面已经实现。然后需要捕获鼠标移动过程中的每个点,这可以通过捕获鼠标移动消息来实现。在此消息响应函数中,在依次捕获的各个点之间绘制条条非常短的线段,从而就可以绘制出条连续的线条。遵照这思路,我们开始增加程序的功能。首先为视类增加鼠标移动消息的响应函数。这样,只要鼠标在应用程序窗口中移动时都会进入到这个消息响应函数中。但这并不是我们所期望的,我们希望在鼠标左键按下后开始绘图。因此,我们需要有个变量来表示鼠标左键是否按下这状态,然后在鼠标移动消息响应函数中对这变量进行判断。当此变量为真,即鼠标左键已经按下去,我们开始绘图。于是,为视类添加个型的私有变量,当鼠标左键按下去时,此变量为真当鼠标左键弹起时,此变量为假,这时,我们就不再绘制线条了。该变量在视类头文件中的定义代码如下接下来在视类的构造函数中,将此变量初始化为。当鼠标左键按下去时,在视类的函数中将此变量初始化为。当鼠标左键弹起时,在视类的函数中将此变量初始化为假。然后在函数中首先对变量进行判断,如果其值为真,说明鼠标左键已经按下去了,这时就可开始进行画线操作。还有点需要注意,因为每绘制条线段后,下次应该从这条线段的终点开始继续绘制。因此,绘制完当前线段后,应该修改线段的起点,将当前线段的终点作为下条线段的起点,程序代码如下,创建并获得设备描述创建宽度为的实线红色画笔把创建的画笔选入设备描述利用红色画刷填充鼠标拖曳过程中形成的矩形区域创建并获得设备描述表创建个空画刷将空画刷选入设备描述表绘制个矩形恢复先前的画刷在简单画刷程序中,首先创建个红色画刷接着创建设备描述表对象然后调用设备描述表对象的成员函数,利用指定的画刷填充块指定的矩形区域,而鼠标拖动过程中的起点和终点就决定了需要填充的矩形区域,因此,代码中通过类利用鼠标拖动的起点和终点构造了这快矩形区域。类提供了多个构造函数,这里使用的是下面这种构造函数,即通过指定矩形区域的左上角和右下角这两个点来构造块矩形区域。代码中的类的成员函数,该函数的功能是用指定的画刷填充个矩形。该函数将填充全部的矩形,包括上左边界,但不填充右底边界。函数的声明如下该函数有两个参数,是指向个结构体或对象的指针,该结构体或对象中包含了要填充的矩形的逻辑坐标。是指向用于填充矩形的画刷对象的指针。在位图画刷程序中,类有下面这样种构造函数。该构造函数要求个类型的指针,类是位图类,于是我们就会这样想利用这个构造函数是否就可以创建个位图画刷呢事实确实如此。创建对象时,仅调用其构造函数并不能得到个有用的位图对象,还需要调用个初始化函数来初始化这个位图对象。类提供了多个初始化函数,例如,修改线段的起点恢复设备描述如果在上面绘制连续线条的程序中,保持每段小直线的起点不变,即以鼠标左键按下时的起点为起点不变,分别绘制到鼠标移动点的直线,这时就会出现扇形的效果。也就是去掉上述代码函数中修改线段起点的代码。程序代码如下,创建并获得设备描述创建宽度为的实线红色画笔把创建的画笔选入设备描述恢复设备描述画刷韩伟肖越再为此程序添加个子菜单,菜单名称为画刷,并为其添加三个菜单项,分别用来控制不同的画刷。提供了个类,可以用来创建画刷对象。画刷通常用来填充块区域。简单画刷位图画刷透明画刷,程序代码如下,创建个红色画刷创建并获得设备描述表利用红色画刷填充鼠标拖曳过程中形成的矩形区域创建位图对象加载位图资源创建位图画刷创建并获得设备描述表点直线矩形椭圆的绘制周峰谢程焜对于直线矩形和椭圆,在绘制时都可有两点来确定其图形。当鼠标左击时得到个点,当鼠标左键松开时得到另外个点。为视类分别捕获鼠标左键按下和弹起这两个消息。另外当鼠标左键按下时,需要将鼠标当前按下点保存,因此我们为再增加个类型的私有成员变量,在视类的构造函数中将此变量初始化为。在鼠标按下消息响应函数中,保存该点,代码如下保存鼠标按下得到点,也是绘制个点在鼠标左键弹起消息响应函数中实现绘图,代码如下,创建并获得设备描述绘制点绘制直线调用函数移动到原点调用函数绘制到终点。绘制矩形,绘制椭圆在上述程序中,设置个点,用到的函数是,这也是类的个成员方法,该函数的生命形式如下该函数是在指定的点设置个像素。其中第个参数是指定的点,第二个参数是指定的颜色。在程序中设定的颜色在系统颜色表中可能不存在,但系统会选择种和这个颜色最接近的颜色。是个宏,它有三个参数,分别代表红绿蓝三种颜色的值。这三个参数类型,取值范围为。是黑色,是白色,将这三个分量设置成为之间的任意值,从而得到各种不同的颜色。这里的是红色。绘制直线时,首先调用函数移动到原点,然后调用函数绘制到终点。绘制矩形时使用函数,该函数声明形式为该函数有个指向对象的参数,后者可以利用两个点来构造。需要注意的是该函数需要的是指向对象的指针,而上述代码中传递的却是对象,但运行编译时也能成功通过,运行时也不会报错,这是为什么呢我们知道系列的语言都是强类型语言,如果类型不匹配的话,需要进行强制类型转换。但这里为什么没有进行这样的强制类型转换程序也可以通过呢实际上,类提供了这样个成员函数重载操作符,其作用是将转换为类型。因此,当在程序中给函数的参数赋值时,如果它发现该参数是个对象,它就会隐式地调用操作符,将类型的对象转换为类型。因此,在给函数传递参数时,如果我们
温馨提示:手指轻点页面,可唤醒全屏阅读模式,左右滑动可以翻页。
第 1 页 / 共 15 页
第 2 页 / 共 15 页
第 3 页 / 共 15 页
第 4 页 / 共 15 页
第 5 页 / 共 15 页
第 6 页 / 共 15 页
第 7 页 / 共 15 页
第 8 页 / 共 15 页
第 9 页 / 共 15 页
第 10 页 / 共 15 页
第 11 页 / 共 15 页
第 12 页 / 共 15 页
第 13 页 / 共 15 页
第 14 页 / 共 15 页
第 15 页 / 共 15 页
预览结束,喜欢就下载吧!
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。
1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。