Windows程序设计课程绘图工具使用教学探讨

2018-10-10 09:18唐小勇
新教育时代·教师版 2018年31期
关键词:程序设计教学法

摘 要:对于初步接触应用程序开发的学生而言,开发Windows应用程序思维方式相对而言是比较抽象的,因而如何开解生动的让学生理解Windows API函数的调用原理,提高其应用技能一直是Windows程序设计课程教学的重点和难点。本文试图以绘图工具使用的普遍性和共同规律性为例,讲解Windows API函数调用的格式、参数意义和调用关系,以期提高同学们Windows程序设计和应用开发能力。

关键词:API函数 程序设计 教学法

Windows程序设计课程是计算机专业的基础应用实践课,主要目的是培养学生利用Visual Studio开发工具开发基于Windows操作系统的应用软件,要求学生掌握初步的工程实践设计与开发能力。由于该课程将涉及大量的Windows API函数调用,函数格式及各数据结构对初学者而言具有重大的挑战性,因而学生普遍反映学习比较困难。签此,本文试图以绘图工具教学为例找出Windows API函数应用的规律及关联性,让学生明白程序设计的逻辑性,希能为提高Windows 程序设计教学质量提供一种实践方法。

一、绘图工具

Windows 绘图工具画笔用来绘制直线、曲线和勾勒绘图对象的形状轮廓,而画刷则用于绘图对象实心形状或者说填充指定区域。利用Windows API函数绘制任何图形都必须设置好这种两种工具,因而准确高效利用画笔和画刷工具是Windows GDI绘图的基础。实际上画笔、画刷与Windows程序设计中具他工具使用都有其共同的规律,学生如果能有效掌握画笔与画刷的使用,对提高Windows应用程序教学质量和学生利用Windows平台开发应用程序能力具有重要的意义。

二、Windows 画笔画刷教学

绘图工具画笔与画刷在Windows程序设计中调用都遵循共同规律:创建工具,将工具选入设备环境和删除工具。因而教学过程中始终以此为主线,重点引入学生编程习惯的养成。本文首先以画笔的教学为主要对象,教学过程中兼顾共同规律的讲述。

创建画笔首先要定义画笔句柄,由于Windows句柄相对比较多,学生对于以前所学的句柄知识不一定全部还记得,因而我们对句柄做了一个简要的复习,主要要求同学们讲出HWND、HDC、HINSTANCE等句柄的主要作用。然后本文给出画笔句柄的定义,如:HPEN hPen; 要求学生掌握画笔句柄是画笔调用的重要标识。其次,本文还要求学生理解句柄与C++语言的int、float、double数据类型的区别与联系。有了画笔句柄后,就是如何创建画笔,教学应总结两种画笔创建方式:调用系统画笔和自定义画笔。调用系统画笔使用Widows API函数GetStockObject,其调用实例如:hPen=(HPEN)GetStockObject(BLACK_PEN),其中参数为系统定义好的类型,主要有WHITE_PEN、BLACK_PEN、DC_PEN和NULL_PEN。自定义画笔主要利用函数CreatePen,教学过程中主要在画笔样式的理解,本文通过实际程序运行实例演示让同学们生动开解理解其内涵。对于画笔颜色参数我们主要应用RGB宏定义,为了让学生们理解此颜色参使用,以中学绘画课程中的三原色来形象讲解其原理。画笔应用的第二步是利用SelectObject函数将画笔选入设备环境,如 hPenOld=SelectObject(hDC,hPen),其中特别要强调设备环境hDC,画笔句柄hPen的含义。最后,讲解如何删除当前画笔,两种形式:用旧画笔代替原有画笔如SelectObject(hDC, hPenOld),另一种形式是利用Windows API函数DeleteObject删除画笔。

畫刷使用和画笔一样,同样分三步:创建画刷,将画刷选入设备环境和删除画刷。画刷须先申明其句柄HBRUSH hBrush,然后才能调用GetStockObject和CreateSolidBrush、CreateHatchBrush来创建画刷。对于系统自定义画刷主要有BLACK_BRUSH黑色画刷、DKGRAY_BRUSH深灰色画刷、GRAY_BRUSH灰色画刷、HOLLOW_BRUSH 虚画刷、LTGRAY_BRUSH亮灰色画刷、NULL_BRUSH空画刷和WHITE_BRUSH白色画刷。如要自定义具有指定颜色的单色画刷须使用CreateSolidBrush;如果图形需要阴影图案和有颜色的画刷则要调用函数CreateHatchBrush。为了有效让同学们理解画刷样式一绘图结果间的关系,我们也实际运行了简单的图形,以理解不同样式参数下图形效果。最后将画刷选入设备环境和删除画刷与画笔应用基本一致,主要要求同学们掌握其应用的共同特征,对程序设计中的其他类似问题能举一反三。

结语

Windows程序设计课程涉及大量Windows API函数调度,且函数格式和数据结构格式对初学者而言都具有重大的挑战性,因而学习效果一直不佳。本文针对此问题,以绘图工具画笔与画刷教学为例,探讨其应用过程及共同规律性,以提高本课程的实际教学效果。

参考文献

[1]张月.课程单元教学设计中的案例设计——以windows程序设计及实训课程教学为例[J].南京广播电视大学学报,2015(4):41-42.

[2]陈健.windows应用程序开发中若干重要api函数的调用[J].吉林师范大学学报:自然科学版,2003(1):86-88.

作者简介

唐小勇(1973.03—),男,汉族,湖南洞口人,副教授,博士,现就职于湖南农业大学信息科学技术学院,主要研究方向:计算机教学法、高性能计算。

猜你喜欢
程序设计教学法
基于Visual Studio Code的C语言程序设计实践教学探索
实施“六步教学法”构建高中政治高效课堂
从细节入手,谈PLC程序设计技巧
高中数学实践教学法的创新策略探讨
合唱教学法之合唱训练中的“和”与“合”
高职高专院校C语言程序设计教学改革探索
OBE理念下基于Greenfoot的Java程序设计课程教学改革
PLC梯形图程序设计技巧及应用
三级甲等公立医院绩效考核程序设计
PBL教学法在中医内科临床教学中的应用