简单画图程序的设计

合集下载

2020浙摄版三年级上册《第5课 初识“画图”程序》教学设计

2020浙摄版三年级上册《第5课 初识“画图”程序》教学设计
三、教学目标
具体目标
所指向的核心素养
1.巩固通过“开始”按钮打开程序的方法,认识 “画 1.对信息技术创新所产生的新观念和新事
图”界面。
物,具备积极的学习态度,能够意识到信息技术
2. 通过探究,了解“铅笔” “刷子”“橡皮”等绘图工发展带来的优势和局限。
具的特点。
2.掌握数字化学习工具的功能和使用方法。学科实践活动Fra bibliotek□其他□
一、教学内容分析
本课出自浙江省教育厅教研室编著的小学信息技术教材三年级上册。本册教学内容共有三个单元, 第一单元为《和计算机交朋友》,第二单元为《数字画家》,第三单元为《键盘指法》。本课为第二单 元《数字画家》的第 1 课时,教材安排了打开“画图”程序、认识画图工具、开始数字创作、保存自己 的画四个板块,旨在通过这四个板块的教学,让学生通过“画图”程序学习计算机绘画。
2020 浙摄版小学信息技术三年级上册教学设计
课题 姓名 学科
吕建明 信息技术
学校 学习领域
基本信息 第 5 课 初识“画图”程序
缙云县湖川小学 软件使用
年级
三年级 教科书版本及章节 小学信息技术(2020 浙摄版)三年级上册第二单元
课时教学设计
课型
新授课√
章/单元复习课□
专题复习课□
习题/试卷讲评课□
本第 16 页右上角的树。
角的三棵树。
设计意图:通过本环节的学习,了解“画图”程序的画图工具按钮的名称及作用。
1.指导学生选择不同合适的笔头、粗 1.选择合适的画图工具,开始自己的绘画
四、开始数字 细、颜色的刷子,进行绘画创作。
创作活动。
创作
2.指导学生正确使用“橡皮”工具修 2.体会“橡皮”工具的特殊作用,学习“橡

画图板java课程设计

画图板java课程设计

画图板java课程设计一、课程目标知识目标:1. 学生能掌握Java语言的基本语法和编程结构。

2. 学生能理解画图板的基本原理,掌握使用Java进行图形界面的设计与实现。

3. 学生能运用Java中的事件处理机制,实现与画图板的交互功能。

技能目标:1. 学生能运用Java编程技能,独立设计并实现一个简单的画图板程序。

2. 学生能通过本课程的学习,提升问题分析能力,运用Java语言解决实际问题。

3. 学生能运用所学的知识,对画图板程序进行调试和优化,提高程序的稳定性。

情感态度价值观目标:1. 学生通过动手实践,培养对编程的兴趣,增强学习Java语言的自信心。

2. 学生在小组合作中,培养团队协作能力,学会共同解决问题。

3. 学生能够认识到编程在现实生活中的应用,理解编程对解决实际问题的重要性。

分析课程性质、学生特点和教学要求:本课程为Java语言编程课程,旨在让学生掌握Java编程的基本技能,培养实际编程能力。

学生处于高年级阶段,具有一定的编程基础,对Java语言有初步了解。

根据教学要求,课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果。

将目标分解为具体的学习成果:1. 学生能独立完成一个画图板程序的编写,实现基本绘图功能。

2. 学生能对画图板程序进行调试和优化,提高程序性能。

3. 学生在课程学习过程中,积极参与小组讨论,提升团队协作能力。

4. 学生通过课程学习,对编程产生浓厚兴趣,为后续深入学习奠定基础。

二、教学内容本课程教学内容围绕以下三个方面展开:1. Java基本语法和编程结构:包括数据类型、变量、运算符、控制结构、数组等基本概念,确保学生掌握Java编程的基础知识。

2. Java图形用户界面(GUI)设计:涉及Swing库的使用,重点讲解JFrame、JPanel等容器组件以及绘图相关的Graphics类,使学生能够实现画图板界面设计。

3. Java事件处理机制:介绍事件监听器、事件对象等概念,让学生了解并掌握画图板中鼠标、键盘等事件的处理方法。

第6课 初识“画图”程序 教学设计

第6课 初识“画图”程序 教学设计

第6课初识“画图”程序教学设计1教学目标一、知识技能目标:1、认识“画图”界面,了解“铅笔”、“刷子”、“橡皮”等绘画工具的特点。

2、能打开和关闭“画图”程序。

掌握选择不同笔头、不同粗细、不同颜色“刷子”的方法。

二、过程方法目标:通过自主尝试,了解“铅笔”、“刷子”、“橡皮”这三种画图工具的名称和用法三、情感态度价值观目标:通过体验各种工具、作品欣赏、感受电脑画图的趣味性,激发描绘大自然的兴趣,促进学生形成积极主动的学习态度。

2学情分析本课针对的是三年级的孩子,三年级孩子对信技课兴趣浓厚,好奇心强,但是注意力比较容易分散,三年级孩子上节课学生进行了电脑绘画作品的浏览。

本课主要是让学生认识“画图”程序,认识“画图”界面,了解“铅笔”、“刷子”、“橡皮”等绘画工具的特点,重点掌握选择不同笔头、不同粗细、不同颜色“刷子”画图的方法。

感受电脑画图的趣味性,激发描绘大自然的兴趣,促进学生形成积极主动的学习态度。

为了使学生能够扎实地打好画图的基础,并且培养学生的学习兴趣,根据学生的年龄特点,教学主要采用直观教学和学习自主探索教学相结合,通过尝试与操作,学会“画图”程序的基本工具。

3重点难点★教学重点:“铅笔”、“刷子”和“橡皮”绘图工具的使用。

★教学难点:绘图工具样式的合理使用。

4教学过程活动1【导入】教学过程★教学过程一、创设情境,激趣导入我们先来听个故事,从前有一群小鸟生活在一片美丽的树林里,可是有一天……播放一段乱砍伐树木的小动画。

引出情境小故事,小鸟的家园被破坏了。

对比再来看看小鸟现在的生活环境,葱翠的树木被砍伐光了,到处都是烟雾弥漫的工厂,巨大的烟囱每天都在不断地冒着浓烟。

小鸟向我们发出了求救信号,今天我们就来重新帮小鸟画一个美好家园。

(设计意图:通过创设小鸟家园被毁坏的情境,激发学生创作的热情,激发学生热爱大自然的情愫,进一步激发学生学习的兴趣和积极性)二、初识画图程序想帮小鸟重建家园,植树造林、栽花种草,我们还需要认识一个新朋友,那就是画图程序。

基于GDI+的简易画图程序设计与实现

基于GDI+的简易画图程序设计与实现
gpbmgCrae a hc = l . e tGrp i
g a l aenw i q 哦 . w m g( pc Dr e , g soe; . p s0 Di
d. g n lmg n w c t i a l = e pi; Or
3 3画布大小调整 . 2 放置—个 pc rl i ue 控件 , 固定在主画板 t 将它 的右下角 , 然后改变 鼠标进入时的 C r r us 为箭头 o 形状, 设置鼠标按下移动时的事件 , 让该 p t e iu — cr b x 跟随鼠标移动。当鼠 o1 标松开时, 将主画板的 右下角坐标调整为 p t eo 1 i u b x 的坐标 , er 部分代 码: b Sz Rei e=f s' x a e/ 改变结束 l, /  ̄d
1 l 3本文采用的技术 G I与 GD 相 比, D+ I 增加了下列新 的特性 : 渐 变画刷 、 曲 、 样条 线 独立的路径对象 、 矩阵和矩阵 变换 、 l a A p 通道合成运算和多图片格式的支持 , h 除了上述新特性 外,D+ GI 还将支持重新着色 、 色 彩修正 、 消除走样 、 数据以及 G a h s 元 r i 容器等 pc
特 睦。
而. T 以很好的支持 G I编程 , N 可 E D+ 可以充 分利用其优越性 , 本文在设计与实现简易画图程 序时 , 采用 G I ̄程技术。 D+ 2系统的设计 2 1系统总体设计方案 a. 对整个界面进行布局。 实现绘图工具的 h 功能。. C 实现颜色拾取的功能。 . d 实现菜单功能。 e 实现手动调节画布大小的功能 。 . £测试。 2 系统结构选择 2 目 , 前 常用的系统体系结构有两种 : 与 C s 。采用 B 结构, 客户端只能完成浏览 、 、 查询 数 据输入等简单功能 , 大部分工作 由服务器 承 绝 担, 这使得服务器的负担很重。采用 c 结构时 , 客户端 和服务器端都能够处理任务, 这虽然对客 户机的要求较 高,但 因此可 以减轻服务器 的压 力。 画图程序对计算机的性能要求比较高 , 占用 大量的内存 , 且要求稳定性好。本文中的系统采 用C 结构 , 这样可以充分利用客户端 的功能, 为 服务器减轻负担。 z 系统模块设计 3 画图程序 , 主要包括四大模块 : 文件功能( 打 开、 关闭、 保存等 ) 、 工具箱( 线条 、 、 铅笔 矩形、 空心 园、 实心圆 、 橡皮擦等 ) 、 调色板 ( 各种颜色 )图像 、 ( 清除图像 、 图像属性 )软件启动时 , , 为一张空 白

苏科版-信息技术-三年级下册-《初识“画图”程序》教学设计3

苏科版-信息技术-三年级下册-《初识“画图”程序》教学设计3

初识“画图”程序教学设计[教学目的与要求](1)学习启动与退出“画图”程序的方法。

(2)了解“画图”窗口的组成。

(3)初步认识绘图工具箱。

(4)在欣赏画图作品和初步认识工具箱中工具的过程中,感受“画图”程序的强大功能。

(5)通过对画图作品的欣赏和对画图程序的操作,培养学生对画图程序的热爱,从而进一步培养对信息技术的热爱。

[课时安排]建议安排1课时。

[教学重点与难点]启动和退出画图程序的方法。

“画图”窗口特有的组成。

知识目标:1、掌握启动和退出画图的方法。

2、让学生认识画图的界面。

能力目标:1、培养学生灵活动用知识的能力。

2、培养学生自主学习的能力。

情感目标:1、培养学生学习计算机的兴趣。

2、培养学生团结协作的精神。

教学重点:怎样进入和退出画图。

教学难点:如何根据需要设定画纸的大小。

优秀绘画作品的展示课件。

一、激趣引入,出示课题。

同学们,你们喜欢画画吗?(喜欢)平常同学们都是把画画在什么地方?(纸上)同学们想不想知道计算机画出来的画是什么样的呢?让我们一起来欣赏一下。

出示课件。

(优秀的绘画作品)师:今天我们就一起来认识“画图”。

二、启动“画图”师:同学们,以前我们学了“记事本”,现在请一位同学上来演示一下,启动“记事本”的方法。

生:演示。

师:我们能不能用刚才这位同学的方法,启动“画图”工具?请同学们在自己的电脑上试一试。

生:学生操作。

师:请一位同学说出自己的方法,并演示给全班同学看。

今天老师要教给同学们另一种更简单的方法,双击桌面上的图标。

(教师演示)学生操作。

三、认识“画图”的界面。

师:在同学们上美术课的时候,老师都会让你们准备些什么?生:颜料、铅笔、橡皮、绘画纸、调色板等。

师:那么用“画图”来画画,是否也需要准备呢?教师介绍窗口各部分的名称。

工具箱:好比我们的文具盒,里面有橡皮、铅笔等我们所需要的工具。

颜料盒:好比我们自己的颜料,可以在里面选择自己所需的颜色。

画布:就好比我们的绘画纸。

我们可以在上面画出非常精美的图画。

MFC画图程序步骤

MFC画图程序步骤

MFC画图程序步骤MFC(Microsoft Foundation Class)是一种用于开辟Windows应用程序的C++类库。

在MFC中,我们可以使用GDI(Graphics Device Interface)来创建和操作图形。

下面是使用MFC创建一个简单的画图程序的步骤。

步骤1:创建一个新的MFC项目首先,打开Visual Studio并选择创建一个新的项目。

在项目类型中,选择Visual C++ -> MFC,然后选择MFC应用程序类型。

输入项目名称并选择保存的位置。

在应用程序类型中,选择“单文档”或者“多文档”视图,具体根据你的需求而定。

点击“确定”按钮创建项目。

步骤2:设计用户界面在MFC应用程序中,用户界面是通过对话框资源来设计的。

在资源视图中,双击IDD_DIALOG(或者其他对话框资源)以打开对话框编辑器。

在对话框编辑器中,你可以添加按钮、文本框、菜单等控件来设计你的用户界面。

在画图程序中,你可以添加一个画布控件来显示绘制的图形。

步骤3:添加绘图功能在MFC中,你可以使用GDI来进行绘图操作。

打开你的对话框类的头文件(例如,CMyDialog.h),添加以下头文件引用:#include <afxwin.h>#include <afxext.h>#include <afxdisp.h>在对话框类的源文件(例如,CMyDialog.cpp)中,添加以下代码来处理绘图操作:```void CMyDialog::OnPaint(){CPaintDC dc(this); // 用于绘制的设备上下文// 在这里进行绘图操作dc.Rectangle(100, 100, 200, 200); // 绘制一个矩形dc.Ellipse(300, 100, 400, 200); // 绘制一个椭圆}```步骤4:处理绘图事件在对话框类的消息映射中添加对绘图事件的处理。

简单画图程序设计

简单画图程序设计

面向对象程序设计课程设计报告设计题目:简单画图程序的设计学院:信息工程学院专业:计算机科学与技术(交通)学号:姓名:指导教师:2015 年1 月4 日目录1.设计目的和内容­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­1 1.1.设计目的­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­11.2.设计内容­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­12.基本功能­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­1 2.1.图形样式­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­1 2.2.颜色样式­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­2 2.3.画笔样式­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­22.4.线型选择­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­33.设计思路­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­34.软件设计­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­5 4.1.设计步骤­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­5 4.2.界面设计­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­8 4.3.关键功能的实现­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­95.心得体会­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­116.参考文献­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­117.附录­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­11 7.1.调试报告­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­11 7.2.调试结果­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­12 7.3.关键源代码­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­121.设计目的和内容1.1.设计目的1、学习Visual C++的MFC开发程序的步骤2、综合运用所学的类、继承和多态的知识3、进一步掌握程序调试的方法1.2.设计内容1、利用MFC的向导,创建基于单文档的应用程序2、编程实现,绘制线、圆、矩形的功能3、能够设定当前要画的图形样式(最少为以上3种)和图形颜色(最少能够设为以下4种颜色:黑、红、绿、蓝)4、当窗口重绘后,还能保持原来的图形5、选做1:能够选中某些已绘制的图形,并删除之6、选做2:能够保存已绘制的图形,下次打开时恢复原状2.基本功能2.1.图形样式在菜单栏的设置里面有图形样式的选择,可以点击选中也可以在工具栏里点击图形的图标,能够实现绘制点、直线、矩形和椭圆的功能。

简简单单画幅画教学设计

简简单单画幅画教学设计

简简单单画幅画——锡林浩特市第四小学马静静一、教学题目简简单单画幅画二、教学用书义务教育小学教科书信息技术四年级上册三、备课时间2018.11.5四、教学班次四年级1至4班五、教学内容课本50至55页,课内及课后练习六、教学目标1.认识“画图”窗口的基本组成2.会在计算机中画简单的图画3.体验用计算机画画与手工画画的不同七、重难点1.重点:“画图”窗口的基本组成;工具栏中工具的简单用法2.难点:工具栏中工具的使用;文件的保存八、德育渗透鼠标是计算机的重要组成部分,是我们与计算机对话的重要工具,对于要共同学习三年的“小老鼠”朋友,我们要爱护它。

九、教学方法演示法、任务驱动法、练习操作法十、教学过程(一)导入同学们,你们上美术课时,会画许多种不同的画,同样,用计算机也可以画出许多美丽的画,下面我们欣赏几幅(幻灯片播放画面)。

你想学着画了吗?今天跟着老师,我们一起来了解“画图”软件。

(二)新授1.启动“画图”软件教师演示操作过程依次单击“开始”→“所有程序”→“附件”→“画图”2.认识“画图”窗口⑴画布是用来画画的地方,它的大小可以根据需要进行改变。

⑵工具箱、形状栏和颜料盒中分别存放着画画用的工具,形状和颜料。

⑶学生观察自己的“画图”软件,做52页中间的填空练习。

⑷了解▼的作用名称:下拉菜单作用:能打开多个命令⑸前景色、背景色3.画一幅简单的图画——画一只小企鹅⑴单击“椭圆”⑵轮廓线→无轮廓线⑶填充→纯色⑷颜色2→黑色⑸画头和身体⑹颜色2→白色⑺画眼睛和肚皮⑻颜色1,颜色2同时→红色⑼画嘴、围巾和脚丫⑽颜色1,颜色2同时→黑色⑾画眼珠注:过程中如出现失误,单击标题栏中撤销按钮,可以撤销错误的操作。

4.保存图画⑴单击:菜单⑵单击:保存⑶文件名处输入“文件名”⑷单击右下角“保存”(三)小结通过这节课的学习你有什么收获?同学们来说一说,画一画吧。

(四)作业想一想计算机画画与美术课上画画有什么不同点和相同点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象程序设计课程设计报告设计题目:简单画图程序的设计学院:信息工程学院专业:计算机科学与技术(交通)学号:201224020326姓名:房战锋同组同学学号:201224020325指导教师:张少博2013 年12 月24 日目录第一章:设计目的及内容 (2)1.1【设计目的】 (2)1.2【设计内容】 (2)第二章:基本功能概述 (3)2.1【工程的新建】 (3)2.2【单文档简介】 (4)2.3【添加消息响应函数】 (5)2.4【资源】 (5)2.5【设备环境】 (6)第三章:设计思路 (6)第四章:软件设计 (7)4.1【设计步骤及关键代码】 (7)4.1.1【点、直线、矩形、椭圆的绘制】 (9)4.1.2【连续线及扇形的绘制】 (11)4.1.3【画刷】 (12)4.2【设置对话框】 (14)4.3【颜色】 (14)4.4【打开与保存】 (15)第五章:结论与心得体会 (16)参考文献: (17)附录: (18)【调试报告】 (18)【测试结果】 (18)【关键代码】 (18)第1章:设计目的及内容1.1【设计目的】1 学习Visual C++的MFC开发程序的步骤。

2 综合运用所学的类、继承和多态的知识。

3 进一步掌握程序的调试方法。

1.2【设计内容】1利用MFC的向导,创建基于单文档的应用程序;2 编程实现,绘制线、圆、矩形的功能;3 能够设定当前要画的图形样式(最少为以上3种)和图形颜色(最少能够设为以下4 种颜色:黑、红、绿、蓝)。

4 当窗口重绘后,还能保持原来的图形。

5 选做1:能够选中某些已绘制的图形,并删除之。

6 选做2:能够保存已绘制的图形,下次打开时恢复原状。

第2章:基本功能概述2.1【工程的新建】打开Microsoft Visual C++ 6.0 —> 点击File —> New 在Projects中选择MFC AppWizard (exe) ;在Project name中输入工程的名字Graphic,在Location中选择工程存放的路径。

填完后点击OK按钮。

(如图1)填完后点击OK按钮,弹出对话框(如图2)。

在弹出来的对话框中我们可以选择生成三种不同类型的应用程序:单文档、多文档、对话框。

单文档程序如记事本,在一个应用程序中只能对一个文档进行操作,降低了编程的复杂度并减少了运行程序时所需的资源。

对某些小型应用(比如文本编辑器或小型图像编辑器)可以采用这种类型的窗口应用程序。

在这个程序中,我们就需要单文档,选择完后点击Next,设置默认,最后点击Finish 完成工程的创建。

图1图22.2【单文档简介】生成单文档程序后,进行编译,在运行,我们可以看到以下的结果。

如图3图3在ClassView中,我们可以看到系统自动为我们生成了五个类:CApp , CDoc , CView , CAboutDlg , CMainFrame。

如图4图4CApp相当于C语言中的main()函数。

是程序的起始。

CDoc是用于处理程序中文档的类。

CView主要是处理客户区的可视化的操作的类。

CAboutDlg是处理关于对话框的类。

CMainFrame是非客户区的一些资源的类。

我们主要是对CView 类进行操作。

2.3【添加消息响应函数】系统为我们生成了一个程序的框架,但是这个框架完成不了什么具体的功能。

为了使程序程序完成我们想要做的事,我们要向这个框架中加入一些代码。

VC++程序的运行并不像C语言是按照顺序运行下来的。

每当我们完成一个事件,系统就会发出特定的消息,程序就会跳到相应的消息响应函数中执行里面的代码。

单击菜单中的View->Class Wizard(或按快捷键Ctrl+W),将会弹出MFC Class Wizard对话框。

在Class Name中选择CView,在Messages中选择WM_LBUTTONDBLCLK,点击右边的Add Function按键。

这样我们就为程序添加了鼠标左键双击的消息响应函数,函数名为OnLButtonDblClk(UINT nFlags, CPoint point)。

我们点击Edit Code按键就可以进入消息响应函数中。

我们在消息响应函数中添加如下代码:AfxMessageBox(“Hello Word!”); 运行程序!当我们在客户区中双击鼠标左键时,我们可以看到效果(如图5)。

我们在完成双击鼠标左键这个事件后,Windows便会发出WM_LBUTTONDBLCLK这条消息。

我们的程序收到这个消息后,就会跳转到鼠标左键双击的消息响应函数内,执行里面的代码。

同样的,我们可以添加其他的消息响应函数,如鼠标左键按下,抬起,鼠标移动等(WM_LBUTTONUP、WM_LBUTTONDOWN、WM_MOUSEMOVE等)。

我们程序就是在这样的消息响应机制下运行的。

图52.4【资源】在ResoureView 里,我们可以编辑对话框、菜单、工具条、快捷键等资源。

点开Menu,可以看到一个ID为IDR_MAINFRAME的菜单。

ID是一个标识,实际上是一个无符号整型常量,每一个资源在程序中都有一个唯一的ID号。

双击IDR_MAINFRAME,在右边的视图中双击帮助右边的虚线框,弹出菜单属性,在Caption中输入“画图”,并将其关闭。

双击画图菜单下面出现虚线框,在caption中输入“画线”后将其关闭。

双击画线,在弹出的菜单属性中ID栏的ID_MENUITEM32775改成ID_MENUITEM_LINE。

同样方法在建一个“画圆”菜单项。

注意:每个资源对应一个ID号,ID号的命名全部用大写字母,且要符合匈牙利命名法。

我们为新的菜单项起名,如果我们选择了Pop-up,生成的菜单就还有下级子菜单;如果没有选择,菜单就没有下级菜单。

我们同样可以在Class Wizard 中为我们生成的菜单添加响应。

在Class Wizard 中的Object IDs中选中菜单的ID号,Messages中选择COMMOND,然后点击Add Function。

这样,我们就为新建的菜单添加了点击的响应,我们同样可以点击Edit Code 编辑消息响应函数。

2.5【设备环境】CDC是设备环境类的基类直接由CObject派生。

是GDI的关键元素,它代表了物理设备。

每一个C++设备环境对象都有相对应Windows设备环境,并通过一个32位类型的HDC 句柄来标识。

CDC类的虚拟性使我们可以很容易的做到编写同时适用于多种设备的代码。

使用CDC类可以使我们的作图不用关心设备的问题。

CClientDC和CWindowDC是显示设备环境类,都是由CDC派生而来,区别在于CClientDC是窗口的客户区不包括边框、标题栏和菜单栏,(0,0)指客户区域的左上角。

CWindowDC的(0,0)指整个屏幕的左上角,这意味着我们可以在显示器的任意地方绘图,包括窗口边框、标题栏和菜单栏等等。

CWindowDC 一般应用在框架窗口,而不是视图窗口。

CDC对象被创建后一定要在合适的时候将它删除掉,如果忘记了删除设备环境对象则会造成内存丢失。

在每次绘图前,我们要获取设备环境,我们可以使用CDC* GetDC ( ) 函数来获取设备环境。

在绘图完成后,使用void ReleaseDC(CDC* pDC ) 函数释放设备环境。

第3章:设计思路我们的设计思路是编辑菜单项,下图是关于菜单的结构图,写出对应的菜单项相应函数,当在菜单选项中选择某项时,会执行相应的代码,再就是在视图类中添加消息,并添加消息响应函数,发出哪个消息时,会执行相应的消息响应函数,最终显示在屏幕上。

第4章:软件设计4.1【设计步骤及关键代码】首先,新建一个单文档类型的MFC AppWizard (exe)工程,工程取名为:Graphic 。

为此程序添加一个子菜单,菜单名称为“绘图”,并为其添加六个菜单项,分别用来控制不同图形的绘制。

当用户选择其中的一个菜单项后,程序将按照当前的选择进行相应图形的绘制。

添加的六个菜单项的ID 及名称如表1所示。

然后分别为这六个菜单项添加命令响应,本程序让视类(CGraphicView)对这些菜单命令进行响应,这六个响应函数的名称分别如表1所示。

简易画图板文件绘图笔刷打开保存点直线 矩形椭圆扇形 连续线设置颜色 简单笔刷位图笔刷线宽线型菜单项ID 菜单项名称菜单项命令响应函数IDM_DOT 点OnDotIDM_LINE 直线OnLineIDM-RECTANGLE 矩形OnRectangleIDM_ELLIPSE 椭圆OnEllipseIDM_SHANXING 扇形OnShanxingIDM_LIANXUXIAN 连续线OnLianxuxian表1添加的菜单项在程序运行以后,当用户单击某个菜单项时,应该把用户的选择保存起来,以便随后的绘图操作使用。

因此在CGraphicView类中添加一个私有变量m_nDrawType;用来保存用户的选择,该变量的定义如下所述:private: UINT m_nDrawType:接着,在视类的构造函数中将此变量初始化为0,表明用户还没选择选项,程序代码如下:CGraphicView::CGraphicView(){// TODO: add construction code herem_nDrawType=0;}利用switch/case语句,来分别完成相应图形的绘制。

当用户选择【绘图】菜单下的不同子菜单项时,将变量m_nDrawType设置为不同的值。

程序代码如下:void CGraphicView::OnDot(){// TODO: Add your command handler code herem_nDrawType=1;}void CGraphicView::OnLine(){// TODO: Add your command handler code herem_nDrawType=2;}void CGraphicView::OnRectangle(){// TODO: Add your command handler code herem_nDrawType=3;}void CGraphicView::OnEllipse(){// TODO: Add your command handler code herem_nDrawType=4;}void CGraphicView::OnShanxing(){// TODO: Add your command handler code herem_nDrawType=5;}void CGraphicView::OnLianxuxian(){// TODO: Add your command handler code herem_nDrawType=6;}4.1.1点、直线、矩形、椭圆的绘制对于直线、矩形和椭圆,在绘制时都可有两点来确定其图形。

相关文档
最新文档